在 Shiny 应用程序中的 sliderInput 中显示日期的问题

问题描述 投票:0回答:1

我正在开发一个闪亮的应用程序,并且遇到了 sliderInput 小部件中日期显示的问题。它不是以“YYYY-MM-DD”格式显示日期,而是以毫秒为单位显示 Unix 时间戳。我已经尝试了几个故障排除步骤,包括检查 HTML 元素、检查 JavaScript 错误(未发现)以及将代码简化到最低限度,但到目前为止还没有解决问题。这是重现问题的最少代码:

library(shiny)

ui <- fluidPage(
  sliderInput("date_range", 
              "Select Date Range:",
              min = as.Date("1998-12-01"), 
              max = as.Date("2023-09-01"), 
              value = c(as.Date("2020-01-01"), as.Date("2021-01-01")), 
              timeFormat = "%Y-%m-%d",
              sep = "",
              width = "100%")
)

server <- function(input, output, session) {
  observe({
    print(as.Date(input$date_range[1], origin = "1970-01-01"))
    print(as.Date(input$date_range[2], origin = "1970-01-01"))
  })
}

shinyApp(ui, server)

我的rshiny截图:

Screenshot of my rshiny

当我运行应用程序时,R 控制台中的日期是正确的,但浏览器中的显示显示时间戳(例如“912470400000”)而不是格式化日期。

这是检查元素的屏幕截图:

我正在寻找建议或解决方案,以确保日期在 sliderInput 中正确显示。我正在使用 R 版本 4.3.2 et 和 Shiny 版本 1.8.1.1 任何帮助将不胜感激!

预先感谢您的协助。

javascript r shiny
1个回答
0
投票

我认为是

sep = "",
中的
sliderInput()
阻止了shiny正确地将数据识别为日期格式。

尝试删除此行。

© www.soinside.com 2019 - 2024. All rights reserved.