r - 使用 Shiny 时如何检索客户端的当前时间和时区?

标签 r timezone shiny

我想知道是否有一些聪明的方法可以让客户端获取当前时间和时区以便在 server.R 中使用它Shiny 应用程序的一部分。如果没有,那么最简单的方法是什么?

最佳答案

我发现了一种有效的方法,它只是对 Reading javascript variable into shiny/R on app load 的 stackoverflow 答案的一个小修改。 .它不会检索实际时区,而是检索时区偏移量。

在 ui.r

HTML('<input type="text" id="client_time" name="client_time" style="display: none;"> '),
HTML('<input type="text" id="client_time_zone_offset" name="client_time_zone_offset" style="display: none;"> '),

tags$script('
  $(function() {
    var time_now = new Date()
    $("input#client_time").val(time_now.getTime())
    $("input#client_time_zone_offset").val(time_now.getTimezoneOffset())
  });    
')

这上面创建了两个 div s 和 javascript 代码检索客户端时间和时区偏移量并将它们放入 div s。

在 server.R
client_time <- reactive(as.numeric(input$client_time) / 1000) # in s
time_zone_offset <- reactive(as.numeric(input$client_time_zone_offset) * 60 ) # in s 

以上创建了两个可在服务器代码中使用的 react 变量。为了便于处理,我还转换了 input$client_time从 ms 到 s 和 input$client_time_zone_offset从分钟到秒。

关于r - 使用 Shiny 时如何检索客户端的当前时间和时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24842229/

相关文章:

python - 从 PST/PDT(Facebook 时间戳)转换为 UTC

Shiny 中的 R 大型数据表显示

javascript - 时区 : user preference vs client-side Javascript

rust - 通过时区转换 UTC 时间

javascript - 通过 selectInput 操作图例 - rCharts 中的 multibarChart

R Shiny - 尝试使用响应式(Reactive)和 ActionButton 循环

r - 当包名包含 "dot"和 Rcpp 函数时,包编译失败

r - 在ggplot2中创建多线图时,如何使一条线比其他线粗?

R数据.表: how to use R variables that contain column names?

r - R中的指标函数