在 R Shiny daterangeinput 中更改日期格式

Change date format in R Shiny daterangeinput

我正在构建一个应用程序,用户可以在其中按日期过滤数据。然后我想以月、日、年的格式显示“您正在查看从 start_date 到 end_date 的数据”的反应性文本。不幸的是,shiny 的 daterangeInput 默认为年、月、日。

我试过使用

    start_date <- reactive({
        format(as.Date(input$date_filter[1]), "%d/%m/%Y")})

但是我收到这个错误并且应用程序崩溃了:

Warning: Error in as.vector: cannot coerce type 'closure' to vector of type 'character'
  [No stack trace available]

有什么想法吗?这是 dateRangeInput。我也试过更改开始日期的格式,但这会弄乱日期。谢谢!

library(shiny)


ui <- fluidPage(
  
  dateRangeInput(
        inputId = "date_filter",
        label = "Filter by Date",
        start = "2020-01-01",
        end = NULL,
        min = "2020-01-01",
        max = NULL,
        format = "m-d-yyyy",
        startview = "month",
        weekstart = 0,
        language = "en",
        separator = " to ",
        width = NULL,
        autoclose = TRUE
      ))

shinyApp(ui, server = function(input, output) {
  
})
~~~~

您可以使用:

library(shiny)

ui <- fluidPage(
  
  dateRangeInput(
    inputId = "date_filter",
    label = "Filter by Date",
    start = "2020-01-01",
    end = NULL,
    min = "2020-01-01",
    max = NULL,
    format = "m-d-yyyy",
    startview = "month",
    weekstart = 0,
    language = "en",
    separator = " to ",
    width = NULL,
    autoclose = TRUE
  ), 
  
  textOutput('text')
  )

shinyApp(ui, server = function(input, output) {
  output$text <- renderText({
    x <- format(input$date_filter, "%d/%m/%Y")
    sprintf("You're viewing data from %s to %s", x[1], x[2])
  })
})