gpt4 book ai didi

r - 将日期字符串 "yyyy-mm-dd"转换为自纪元以来的毫秒数

转载 作者:行者123 更新时间:2023-12-04 12:19:34 25 4
gpt4 key购买 nike

我有一些数字表示自纪元以来的毫秒数,00:00:00 协调世界时 (UTC),星期四,1970 年 1 月 1 日

    1365368400000,
1365973200000,
1366578000000

我正在将它们转换为日期格式:

    as.Date(as.POSIXct(my_dates/1000, origin="1970-01-01", tz="GMT"))

回答:

 [1] "2013-04-07" "2013-04-14" "2013-04-21"

如何将这些字符串转换回纪元以来的毫秒数?

最佳答案

这是您的 javascript 日期

x <- c(1365368400000, 1365973200000, 1366578000000)

除以一天中的毫秒数,您可以更轻松地将它们转换为 R 日期。

y <- as.Date(x / 86400000, origin = "1970-01-01")

要转换回来,只需转换为数字并乘以这个数字。

z <- as.numeric(y) * 86400000

最后,检查答案是否与您一开始的答案相同。

stopifnot(identical(x, z))

根据评论,您有时可能会遇到数字舍入错误,导致 xz 不相同。对于这样的数值比较,请使用:

library(testthat)
expect_equal(x, z)

关于r - 将日期字符串 "yyyy-mm-dd"转换为自纪元以来的毫秒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22168400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com