首页 > 解决方案 > 将时间戳添加到 R Shiny flexdashboard 标头

问题描述

我有一个使用 flexdashboard 的 R Shiny 应用程序,我每周在工作中更新几次。我已经安排它在每个工作日自动更新,我认为在重新部署时添加时间戳会很好。这是我遇到问题的地方......

这是我目前在 .Rmd 文件中的代码:

date: 'Updated: `r format(as.POSIXct(format(Sys.time(), tz = "America/Denver")), "%b %d %I:%M %p")`'

它输出我所期望的,类似于“Mar 09 4:00 PM”。

但是,由于我使用的是 Sys.time(),我意识到我闪亮的仪表板只输出仪表板加载时的时间戳,而不是实际更新时的时间戳。我在使用类似功能时发现了同样的问题,例如lubridate::now().

有什么方法可以在部署时自动将静态时间戳添加到 R Shiny 应用程序或 flexdashboard 标头?

标签: rshinyr-markdownflexdashboard

解决方案


您可以使用应用数据的修改日期:

format(as.POSIXct(format(file.info('.//data.rdata')$mtime, tz = "America/Denver")), "%b %d %I:%M %p")

或者,作为部署脚本的一部分,您可以创建具有适当日期的 .txt 或 .rdata 文件。


推荐阅读