POSIX 日期格式

问题描述 投票:0回答:1

我在 R 下工作,我有一个日期(格式“2018-08-10”)和时间(格式“10:00:00”)。两者都是字符串。我需要计算事件的开始时间(时间 - 60 分钟)并将其传递为以下格式: 20180810T090000Z 年月日T小时分秒。

我尝试了以下方法:

time <- "10:00:00"
J0 <- "2018-08-10"
library(lubridate)
beginningtime = as.character(hms(time) - minutes(60))
datestart = as.character.POSIXt(as.POSIXct(paste(J0, beginningtime)),
          format = "%Y%m%dT%H%M%S")

这给了我以下格式的

datestart
:“20240301T000000”,不考虑时间。

我猜这与

as.POSIXct(paste(J0, beginningtime))
的输出有关,它返回:“2024-03-01 CET”,没有开始时间。

有人知道该怎么做吗?我是 POSIX 对象的新手,并且不知道如何组合

as.POSIX
函数的所有变体以获得正确的输出。

r date posixct
1个回答
0
投票

使用

lubridate
您可以
paste
J0
对象,然后使用
time
将其从字符转换为日期。然后,您可以减去 60 分钟并将结果设置为您想要的输出格式(使用
ymd_hms
)。
stamp

	
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.