在使用strptime的示例(例如10-10-2010 00:00:00)中包括秒

时间:2019-05-09 12:08:58

标签: r datetime posixct strptime

我周围有很好的狩猎活动,并且一定要在之前解决此问题,但是我似乎找不到任何帮助!

我在数据帧中有一系列时间,其中一些具有以下时间戳,格式如下:

Date <- '2018-10-10'
Time <- '00:00:00'

当我使用strptime函数时,它仅返回日期,它删除了00:00:00,请参见下文:

datetime <- strptime(paste(Date,Time),
                     format = "%Y-%m-%d %H:%M:%S",
                     tz = 'GMT')

> datetime
[1] "2018-10-10 GMT"

例如,如果它是Time <- 00:00:01,它将返回

> datetime
[1] "2018-10-10 00:00:01 GMT"

没有人知道确保显示00:00:00实例的输出的方法。所需的输出:

"2018-10-10 00:00:00 GMT"

非常感谢!

吉姆

1 个答案:

答案 0 :(得分:1)

当您键入datetime并按<Enter>时,R将使用a /合适的打印方法来显示datetime。仅仅因为datetime返回"2018-10-10 GMT"并不意味着datetime忘记了几秒钟。

要确保POSIXlt对象的格式一致,可以使用format

format(datetime, "%Y-%m-%d %H:%M:%S", usetz = T)
#[1] "2018-10-10 00:00:00 GMT"

与案例2类似

Date <- '2018-10-10'
Time <- '00:00:01'
datetime <- strptime(paste(Date,Time), format = "%Y-%m-%d %H:%M:%S", tz = 'GMT')
format(datetime, "%Y-%m-%d %H:%M:%S", usetz = T)
#[1] "2018-10-10 00:00:01 GMT"

样本数据

Date <- '2018-10-10'
Time <- '00:00:00'
datetime <- strptime(paste(Date,Time), format = "%Y-%m-%d %H:%M:%S", tz = 'GMT')