繁体   English   中英

如何在R中将时间戳字符串“ 2014-07-20T05:11:49.988Z”转换为POSIXt?

[英]How to convert time stamp string “2014-07-20T05:11:49.988Z” into POSIXt in R?

如何在R中将时间戳字符串“ 2014-07-20T05:11:49.988Z”转换为POSIXt?

我想知道为什么第二个代表3个分位数? 在时间戳的末尾附加“ Z”又是什么意思? 任何人都可以知道如何将字符串转换为R中的时间

“ Z”是UTC的简写 您可以使用

x <- as.POSIXct("2014-07-20T05:11:49.998Z", 
    format="%Y-%m-%dT%H:%M:%OSZ", tz="GMT")

请注意,通常您通常使用POSIXct或POSIXlt而不是直接使用POSIXt(两者都将POSIXt作为基类)

lubridate软件包具有非常强大的解析器,我倾向于在基数R中首选手动formatformat

library(lubridate)
#> 
#> Attaching package: 'lubridate'
#> The following object is masked from 'package:base':
#> 
#>     date

(t <- ymd_hms("2014-07-20T05:11:49.998Z"))
#> [1] "2014-07-20 05:11:49 UTC"

reprex软件包 (v0.2.1)创建于2019-03-11

确保未打印的毫秒数也不会丢失:

second(t)
#> [1] 49.998

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM