时间变成午夜时消失的秒数

时间:2015-05-15 04:07:43

标签: r posixct strptime

我有一些代码占用了一段时间,然后采取了一定的秒数。一切都很好,除了边缘情况,当你拿走你在午夜结束的秒数。在我发生这种情况时使用的代码中,秒的一部分时间消失了。随后的代码会失败,因为它需要特定格式的时间。

任何想法如何处理这种情况,以便随后的代码不会给出意想不到的结果。

忽略以下时区 - 我只对消失的秒钟感兴趣。

BaseTime <- "2015-03-25 00:01:00"
adjustment <- 30
GMT1 <- strptime(BaseTime,"%Y-%m-%d %H:%M:%S") 
GMTadj <- GMT1 - adjustment
GMTadj
# [1] "2015-03-25 00:00:30 EDT"

GMT <- as.POSIXct(strptime(as.character(GMTadj),"%Y-%m-%d %H:%M:%S"),tz = "GMT") GMT
# [1] "2015-03-25 00:00:30 GMT"

adjustment <- 60
GMT1 <- strptime(BaseTime,"%Y-%m-%d %H:%M:%S")
GMTadj <- GMT1 - adjustment
GMTadj
# [1] "2015-03-25 EDT"

GMT <- as.POSIXct(strptime(as.character(GMTadj),"%Y-%m-%d %H:%M:%S"),tz = "GMT")
GMT
# [1] NA

1 个答案:

答案 0 :(得分:0)

正如MrFlick所述,如果您在将POSIXct转换为字符时不喜欢默认格式,则需要在as.character调用中明确指定格式。

R> as.character(GMTadj, "%Y-%m-%d %H:%M:%S")
[1] "2015-03-25 00:00:00"