R shiny:在小部件上选择的日期与返回日期之间相差一天

R shiny: one day difference between date selected on widget and returned date

shinyMobile 的 f7DatePicker 小部件返回的日期比用户实际选择的日期早一天。

我住在法国,在当地一切正常。 将我的应用程序部署到 shinyapps.io 时出现问题。 下面的屏幕截图和 MRE。已部署 MRE here.

server.R

library(shinyMobile)
# tried adding Sys.setenv(TZ='UTC'), to no avail

function(input, output, session) {
  output$date_output = renderUI(HTML(paste(input$date_input)))
}

ui.R

library(shinyMobile)

f7Page(
  f7DatePicker(
    'date_input',
    'Date entered by user:',
    value = NULL,
    maxDate = Sys.Date(), # tried setting to NULL, to no avail
    dateFormat = 'yyyy-mm-dd' # tried changing to 'mm-dd-yyyy' per  to no avail
  ),
  div(style='padding-left:20px;',
    h5('Date recorded by the system:'),
    uiOutput('date_output')
  )
)

====本地(没问题):====

====远程(一天出差!):====

PS。我尝试使用 Shiny 的默认 dateInput 和 shinyWidgets 的 airDatePicker。 None 其中有此问题,但不幸的是,就 UI 而言,它们似乎与 shinyMobile 不兼容。

PPS。我认为解决方案可能在于此 SO answer。似乎是与 javascript 在不同情况下使用的不同标准以及转换为 UTC(或不转换)有关的问题。如果这确实是问题的原因,那将需要编辑我猜的 R Shiny 小部件的 js 部分,但我不懂 javascript...

如有任何帮助或提示,我将不胜感激。谢谢!

shinyMobile package, David Granjon, via this commit 的作者提供了此问题的修复程序。非常感谢他!

这里是 link 到 GitHub 线程:https://github.com/RinteRface/shinyMobile/issues/204#issuecomment-1079532866