在Shiny for R中,为什么Sys.Date()在dateInput中返回昨天的日期?

时间:2015-05-15 08:26:03

标签: r date input shiny

我的dateInput中有一个ui.R,如下所示:

dateInput("asOfDateTime", label = "As Of", value = Sys.Date(), max = Sys.Date())

对于2015-05-15,这会为dateInput提供默认值2015-05-14

但是,当我在Sys.Date()的控制台中运行2015-05-15时,我会得到正确的值:2015-05-15

为什么Shiny会在我的应用程序中提供昨天的日期?

1 个答案:

答案 0 :(得分:2)

听起来很奇怪。我刚开始Shiny,所以不确定。

可以

  1. 时区?? 他们的服务器上的Sys.timezone()可能不同吗?

    您是否尝试格式化时区的日期?

  2. 缓存问题??

    是否可以从旧实例缓存该值?但我认为你在你的Shinyserver {...代码}中运行它,而不是在上面。尝试在仪表板中重建?

  3. 但这是解决方案

    value设为NULLsee helpfile

      

    值开始日期。 Date对象或yyyy-mm-dd格式的字符串。如果为NULL(默认值),将使用客户端时区中的当前日期。

    默认为您所在时区的日期。

    dateInput("asOfDateTime", label = "As Of", 
                                        value = NULL, max = Sys.Date())
    

    给了我今天的约会

    ShinyDateInputEG