如何在 Excel/R 中将时间戳(不是 UNIX)更改为日期和时间?

How do I change a timestamp (not UNIX) to a date and time in Excel/R?

提问人:Raymond Wang 提问时间:11/2/2023 最后编辑:AxemanRaymond Wang 更新时间:11/2/2023 访问量:45

问:

我正在使用一个以这种方式列出时间的数据集:

200901010000
200901010030
200901010100

例如,第一个表示 2009 年 1 月 1 日,小时 0,分钟 0,最后一个表示 2009 年 1 月 1 日,小时 1,分钟 0。有没有一种快速的方法可以将其更改为可用的东西?当时间处于当前状态时,我制作的任何时间序列都会被扭曲。谢谢!

尝试在Excel中将其更改为日期时间格式,但无法弄清楚如何使其工作。

R Excel 日期

评论

4赞 r2evans 11/2/2023
as.POSIXct(as.character(200901010000), format="%Y%m%d%H%M").值得注意的是,如果您使用数字,或者您的系统(基于任何选项/配置)选择使用科学记数法显示它们,这将不起作用。如果需要,有一些方法可以解决后半部分,也许使用 .sprintf
0赞 Scott Craner 11/2/2023
EXCEL:然后将输出格式化为您想要的日期样式。=--TEXTJOIN({"-","-"," ",":"},,MID(A1,{1,5,7,9,11},{4,2,2,2,2}))
0赞 Raymond Wang 11/2/2023
感谢您的快速回复!有没有办法应用 as。POSIXct 函数到整个数据集?我尝试使用as。POSIXct(as.character(df$TIMESTAMP_START), format=“%Y%m%d%H%M”),但它似乎不起作用。
1赞 Ben Bolker 11/2/2023
什么不起作用?您是否记得将值重新分配给数据框的列(即 ) ?df$TIMESTAMP_START <- as.POSIXct(....)

答:

0赞 Ron Rosenfeld 11/2/2023 #1

在Excel中:

B1: =--TEXT(A1,"0000\/00\/00 00\:00")

并格式化为日期,例如:yyyy-mm-dd hh:mm

enter image description here

该函数以字符串形式返回数字,Excel 会将其识别为日期/时间。TEXT

双元数将其转换为数字(这是 Excel 存储日期时间的方式。--

然后,只需正确格式化该数字即可。