R- DT十进制时间转换的十进制时间



我目前正在使用闪亮的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))

我一直在考虑使用DT功能的formatDate()部分中使用toTimeString或类似方法。如何将其从十进制时间" 2.3" HRS转换为" 2:18"?我确实找到了这个问题之后,我将DT升级到了最新的DEV版本,并包括params=,但在寻找必要的组合以选择HH:MM。

我认为您无法通过formatDate()实现它,因为我在JavaScript中看不到任何日期转换方法支持任何时间组件的抑制。例如,如果您读取toLocalString的文档,则可以看到year组件的唯一可能值是numeric2-digit,并且无法将其设置为null来抑制它。

HH:MM格式显示您的日期/时间数据的最直接方法是在将数据传递给DT::datatable()之前正确格式化数据,例如,使用R函数format(..., '%H:%M')

我认为可以通过在JavaScript中提供行或列记录功能来实现您的目标,但会有点复杂。

最新更新