我正在使用闪亮的DT来显示当前的小数时间。
此处示例:
library(shiny)
library(DT)
library(dplyr)
library(magrittr)
# server-side processing
base<-as.POSIXct('2000-01-01 00:00:00 EST')
mtcars2 = mtcars[, 5:6]
mtcars2 %<>%
mutate(drat = base+(3600*drat),
wt = base+(3600*wt))
DT::datatable(mtcars2,
extensions = 'Buttons',
options = list(
scrollX = TRUE,
scrollY = TRUE,
pageLength = 10,
dom = 'Blfrtip',
buttons = c('copy', 'csv', 'excel', 'pdf', 'print')
)
) %>%
formatDate( 1:2,method = 'toLocaleString', params = list('en-US',year = NULL))
我一直在考虑使用toTimeString
或DT's functions的formatDate()
部分中的类似方法。我怎样才能将这个从小数时间“2.3”转换为“2:18”?我找到了this question
之后我将DT升级到最新的dev版本并包含params=
,但是找不到必要的组合来选择HH:MM是不成功的。
答案 0 :(得分:1)
我认为您无法通过formatDate()
实现这一目标,因为我在JavaScript中看不到任何支持抑制任何时间组件的日期转换方法。例如,如果您阅读the documentation of toLocalString
,则可以看到year
组件的唯一可能值为numeric
和2-digit
,您无法将其设置为{{1}抑制它。
以null
格式显示日期/时间数据的最直接方法是在将数据传递给HH:MM
之前正确格式化数据,例如,使用R函数DT::datatable()
。
我认为通过在JavaScript中提供行或列回调函数可以实现您的目标,但它会有点复杂。