r - 将选定的日期和时间合并为闪亮的日期时间变量
问题描述
我有以下代码应该询问日期和时间,然后将它们合并在一起以获得日期时间变量,如果可能的话 POSIXct。
library(shiny)
library(shinyTime)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
dateInput(inputId='dateRange1',
label = 'Enter initial date: yyyy-mm-dd'),
timeInput("time_input1", "Enter time of the initial day", value = strptime("00:00:00", "%T"))
),
mainPanel(
textOutput("time_output1")
)))
################
server <- function(input, output) {
vals <- reactiveValues()
observe({
vals$initial_date <-paste(as.character(input$dateRange1),strftime(input$time_input1, "%T") , collapse = " - ")
})
output$time_output1 <- renderText(vals$initial_date)
}
shinyApp(ui, server)
我希望 vals$initial_date 的类是“POSIXct”“POSIXt”,但我不管理。我需要对日期和时间进行操作。我尝试了很多东西,其中包括我用过的:
vals$initial_date<- strptime(vals$initial_date, "%d-%m-%Y %H:%M:%S")
和
vals$initial_date<- as.POSIXct(vals$initial_date, "%d-%m-%Y %H:%M:%S")
在'观察'里面,但它没有工作。有人可以告诉我我的问题在哪里吗?
谢谢!
解决方案
时间输入已经有日期组件,如果你愿意,我们可以去掉它。请注意,我已添加inherits
测试以查看 中的对象reactiveValues()
是否为 type POSIXct
。我还添加了一些renderText
条件,以便在渲染 00:00:00 时显示完整的日期时间,而不是仅显示日期
library(shiny)
library(shinyTime)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
dateInput(inputId='dateRange1',label = 'Enter initial date: yyyy-mm-dd ', value = Sys.Date()),
timeInput("time_input1", "Enter time of the initial day", value = strptime("00:00:00", "%T"))
),
mainPanel(
textOutput("time_output1")
)))
################
server <- function(input, output) {
vals <- reactiveValues()
observe({
testdatetime <- paste(input$dateRange1,strftime(input$time_input1, format="%H:%M:%S"))
testdatetime <- as.POSIXct(testdatetime, format="%Y-%m-%d %H:%M:%S",tz= "UTC")
vals$initial_date <- testdatetime
# Check if the Time is a POSIXct object
test <- inherits(testdatetime, "POSIXct")
print(test)
})
output$time_output1 <- renderText({
value <- as.character(vals$initial_date)
if(nchar(value) == nchar(as.character(Sys.Date()))){
value <- paste(value,"00:00:00 ")
}
value
})
}
shinyApp(ui, server)
推荐阅读
- asp.net-core - gRPC-web 服务工作正常,但不使用bloomRPC
- amazon-web-services - 如何在 AWS Redshift 中获取特定用户的所有数据库组
- python - 在 python 中安装交互式过滤器的好方法是什么?
- c# - WPF onbutton单击在字符串列表中添加字符串?
- css - 如何使用 nativescript 更改 SVG 图像的填充颜色
- input - 刷新后无表单输入丢失值
- c# - 创建一个对象,其中类存储在变量中
- java - 关于 jsoup_java.lang.NoClassDefFoundError 的错误:org/jsoup/Jsoup
- java - 具有参数化方法类型的通用接口
- fiware - Fiware Context Provider hello world 不工作