rhandsontable 格式化日期时显示错误的格式日期
rhandsontable wrong format date display when formatting dates
我有一个简单的 rhandsontable shiny 应用程序显示日期,但日期显示不正确。
library(rhandsontable)
library(magrittr)
DF_na = data.frame(integer = c(NA, 2:10),
logical = c(NA, rep(TRUE, 9)),
character = c(NA, LETTERS[1:9]),
factor = c(NA, factor(letters[1:9])),
date = c(NA, seq(from = Sys.Date(), by = "days",
length.out = 9)),
stringsAsFactors = FALSE)
DF_na$factor_ch = as.character(DF_na$factor)
DF_na$date_ch = c(NA, as.character(seq(from = Sys.Date(), by = "days",
length.out = 9)))
rhandsontable(DF_na) %>%
hot_col("date", dateFormat = "DD/MM/YYYY", type = "date")
格式显示错误。日期在我的应用程序中显示为 MM-DD-YY,但我需要是 DD-MM-YY
格式化 R 中的日期:
x <- format(seq(from = Sys.Date(), by = "days", length.out = 9), "%d/%m/%Y")
DF_na = data.frame(integer = c(NA, 2:10),
logical = c(NA, rep(TRUE, 9)),
character = c(NA, LETTERS[1:9]),
factor = c(NA, factor(letters[1:9])),
date = as.character(c(NA,x)),
stringsAsFactors = FALSE)
rhandsontable(DF_na) %>%
hot_col("date", dateFormat = "DD/MM/YYYY", type = "date")
根据这个 https://github.com/jrowen/rhandsontable/issues/145 问题,您必须使用自定义日期格式,您必须执行以下操作:
- 将数据框日期列转换为字符
- 在hot_col规范中指定日期格式
- 使用hot_to_r
读取输入$table后从字符串转换回来
修复格式的正确代码清单是:
library(rhandsontable)
library(magrittr)
DF_na = data.frame(integer = c(NA, 2:10),
logical = c(NA, rep(TRUE, 9)),
character = c(NA, LETTERS[1:9]),
factor = c(NA, factor(letters[1:9])),
date = c(NA, seq(from = Sys.Date(), by = "days",
length.out = 9)),
stringsAsFactors = FALSE)
DF_na$factor_ch = as.character(DF_na$factor)
DF_na$date_ch = format(as.Date(DF_na$date, origin = "1970-01-01"), "%d/%m/%y")
rhandsontable(DF_na) %>%
hot_col("date_ch", dateFormat = "DD/MM/YY", type = "date")
我有一个简单的 rhandsontable shiny 应用程序显示日期,但日期显示不正确。
library(rhandsontable)
library(magrittr)
DF_na = data.frame(integer = c(NA, 2:10),
logical = c(NA, rep(TRUE, 9)),
character = c(NA, LETTERS[1:9]),
factor = c(NA, factor(letters[1:9])),
date = c(NA, seq(from = Sys.Date(), by = "days",
length.out = 9)),
stringsAsFactors = FALSE)
DF_na$factor_ch = as.character(DF_na$factor)
DF_na$date_ch = c(NA, as.character(seq(from = Sys.Date(), by = "days",
length.out = 9)))
rhandsontable(DF_na) %>%
hot_col("date", dateFormat = "DD/MM/YYYY", type = "date")
格式显示错误。日期在我的应用程序中显示为 MM-DD-YY,但我需要是 DD-MM-YY
格式化 R 中的日期:
x <- format(seq(from = Sys.Date(), by = "days", length.out = 9), "%d/%m/%Y")
DF_na = data.frame(integer = c(NA, 2:10),
logical = c(NA, rep(TRUE, 9)),
character = c(NA, LETTERS[1:9]),
factor = c(NA, factor(letters[1:9])),
date = as.character(c(NA,x)),
stringsAsFactors = FALSE)
rhandsontable(DF_na) %>%
hot_col("date", dateFormat = "DD/MM/YYYY", type = "date")
根据这个 https://github.com/jrowen/rhandsontable/issues/145 问题,您必须使用自定义日期格式,您必须执行以下操作:
- 将数据框日期列转换为字符
- 在hot_col规范中指定日期格式
- 使用hot_to_r 读取输入$table后从字符串转换回来
修复格式的正确代码清单是:
library(rhandsontable)
library(magrittr)
DF_na = data.frame(integer = c(NA, 2:10),
logical = c(NA, rep(TRUE, 9)),
character = c(NA, LETTERS[1:9]),
factor = c(NA, factor(letters[1:9])),
date = c(NA, seq(from = Sys.Date(), by = "days",
length.out = 9)),
stringsAsFactors = FALSE)
DF_na$factor_ch = as.character(DF_na$factor)
DF_na$date_ch = format(as.Date(DF_na$date, origin = "1970-01-01"), "%d/%m/%y")
rhandsontable(DF_na) %>%
hot_col("date_ch", dateFormat = "DD/MM/YY", type = "date")