为什么来自R的lubridate包的ymd_hms
函数返回“{1}}的”2018-01-09 15:43:44.843 UTC“?
我天真地期望“2018-01-09 15:43:44.844 UTC”。
ymd_hms('2018-01-09T15:43:44.844Z')
返回“2018-01-09 15:43:44.822 UTC”。
由于这是GMT / UTC,我不认为夏令时会是一个因素,ymd_hms('2018-01-09T15:43:44.822Z')
选项的不同值似乎没有什么区别。
答案 0 :(得分:0)
来自ymd_hms文件:
注意:ymd函数系列基于strptime()
正如here所描述的那样,问题似乎在于strptime是如何截断而不是舍入一秒的分数。到处使用<head>
<title>Create Traveler</title>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-16" />
来查看它如何处理不同数量的小数位。
答案 1 :(得分:0)
我宁愿使用:
format(strptime("2018-01-09T15:43:44.844Z", "%Y-%m-%dT%H:%M:%OS", tz = "EST"), format="%Y-%m-%d %H:%M:%OS3 %Z", tz = "EST")
[1] "2018-01-09 15:43:44.844 EST"
请注意,使用参数%OS