POSIXct 不接受自定义来源
POSIXct not accepting custom origin
我觉得我在这里遗漏了一些明显的东西。我正在导入一些存储为 HH:MM:SS 的数据。我正在尝试将其转换为 POSIXct 并手动将来源指定为收集数据的日期。
datIn$TimeComplete <- as.POSIXct(datIn$Time, format="%H:%M:%S", origin="2000-01-01", tz="CET")
此输出正确地注册了 HH:MM:SS,但表示日期是 2019-03-05(今天),我似乎无法说服它做任何不同的事情。
您误解了 origin
的概念。 Origin 可以帮助将数字转换为日期。这些数字代表秒数,因此您需要 origin
才能将这些秒数添加到原点并获取日期时间对象。例如,
as.POSIXct(60, tz = "GMT", origin = '2015-03-05')
#[1] "2015-03-05 00:01:00 GMT"
as.POSIXct(3600, tz = "GMT", origin = '2015-07-05')
#[1] "2015-07-05 01:00:00 GMT"
通过将所需日期粘贴到您的时间并转换为日期时间,即可轻松实现您想要做的事情,即
as.POSIXct(paste0('2000-01-01 ', '11:03:15'), format = "%Y-%m-%d %H:%M:%S", origin = "", tz = "CET")
#[1] "2000-01-01 11:03:15 CET"
我觉得我在这里遗漏了一些明显的东西。我正在导入一些存储为 HH:MM:SS 的数据。我正在尝试将其转换为 POSIXct 并手动将来源指定为收集数据的日期。
datIn$TimeComplete <- as.POSIXct(datIn$Time, format="%H:%M:%S", origin="2000-01-01", tz="CET")
此输出正确地注册了 HH:MM:SS,但表示日期是 2019-03-05(今天),我似乎无法说服它做任何不同的事情。
您误解了 origin
的概念。 Origin 可以帮助将数字转换为日期。这些数字代表秒数,因此您需要 origin
才能将这些秒数添加到原点并获取日期时间对象。例如,
as.POSIXct(60, tz = "GMT", origin = '2015-03-05')
#[1] "2015-03-05 00:01:00 GMT"
as.POSIXct(3600, tz = "GMT", origin = '2015-07-05')
#[1] "2015-07-05 01:00:00 GMT"
通过将所需日期粘贴到您的时间并转换为日期时间,即可轻松实现您想要做的事情,即
as.POSIXct(paste0('2000-01-01 ', '11:03:15'), format = "%Y-%m-%d %H:%M:%S", origin = "", tz = "CET")
#[1] "2000-01-01 11:03:15 CET"