要创建一个易于使用的时区列表,并与lubridate和shiny输入兼容,可以使用以下步骤:
- 使用
lubridate
包中的olson_time_zones()
函数获取所有时区的列表。
- 使用
shiny
包中的selectInput()
函数创建一个下拉菜单,用于选择时区。
- 使用
lubridate
包中的with_tz()
函数将选择的时区应用于日期和时间。
下面是一个包含代码示例的解决方法:
library(lubridate)
library(shiny)
# 获取所有时区的列表
time_zones <- olson_time_zones()
# 创建一个shiny应用
ui <- fluidPage(
# 创建一个下拉菜单,用于选择时区
selectInput("timezone", "Timezone:", choices = time_zones),
# 显示选择的时区和当前日期/时间
verbatimTextOutput("info")
)
server <- function(input, output) {
output$info <- renderPrint({
# 获取当前日期/时间
now <- Sys.time()
# 将选择的时区应用于当前日期/时间
now_with_tz <- with_tz(now, tzone = input$timezone)
# 显示选择的时区和当前日期/时间
paste("Selected Timezone:", input$timezone, "\n",
"Current Date/Time:", now_with_tz)
})
}
shinyApp(ui, server)
这段代码创建了一个shiny应用,其中包含一个下拉菜单,用于选择时区。选择时区后,应用将显示所选时区和当前日期/时间。使用with_tz()
函数将选择的时区应用于当前日期/时间。