更改R中的时间格式(POSIXlt)

更改R中的时间格式(POSIXlt),r,datetime,R,Datetime,我有一个4x2数据框,其中一列包含日期时间戳。日期时间的格式如下:%Y-%m-%d%H:%m:%S。我需要将日期时间格式化为POSIXlt,我不希望显示秒数。下面的代码格式为POSIXlt,但不知何故,秒仍在显示。我怎样才能摆脱秒?多谢各位 DATS <- structure(list(DateTime = c("2016-04-25 23:59:00", "2016-04-25 23:58:00","2016-04-25 23:57:00", "2016-04-25 23:56:

我有一个4x2数据框,其中一列包含日期时间戳。日期时间的格式如下:
%Y-%m-%d%H:%m:%S
。我需要将日期时间格式化为
POSIXlt
,我不希望显示秒数。下面的代码格式为
POSIXlt
,但不知何故,秒仍在显示。我怎样才能摆脱秒?多谢各位

DATS <- structure(list(DateTime = c("2016-04-25  23:59:00", "2016-04-25  23:58:00","2016-04-25  23:57:00", "2016-04-25  23:56:00"), Last = c(42.84,42.84, 42.85, 42.85)), .Names = c("DateTime", "Last"), row.names = c(NA,4L), class = "data.frame") 
DATS$DateTime <- strptime(DATS$DateTime, format = "%Y-%m-%d %H:%M")

#Output for DATS after running code
              DateTime  Last
1 2016-04-25  23:59:00 42.84
2 2016-04-25  23:58:00 42.84
3 2016-04-25  23:57:00 42.85
4 2016-04-25  23:56:00 42.85

DATS其他人回答时,需要包括秒数。例如,请注意,如果我删除“:%S”并将秒数从00改为各种数字,则秒数仍包括在内,但四舍五入为00

    DATS <- structure(list(DateTime = c("2016-04-25  23:59:15", "2016-04-25  23:58:30","2016-04-25  23:57:45", "2016-04-25  23:56:59"), Last = c(42.84,42.84, 42.85, 42.85)), .Names = c("DateTime", "Last"), row.names = c(NA,4L), class = "data.frame") 


简单的回答,你没有。如果要将它们作为POSIXlt对象,则包括秒。您可以使用:format(DATS$DateTime,format=“%Y-%m-%d%H:%m”),但这将从POSIX转换为字符。如果您只关心输出外观,那么这是可以的。Gracos,您是在询问如何在不显示秒数的情况下显示数据,还是在询问如何在不显示秒数的情况下存储数据?细微但重要的区别。例如,您可以创建一个R类,并为省略秒数的数据编写一个显示函数。或者,您也可以简单地使用
sprintf()
来显示DATS结构的格式化输出。希望POSIXlt格式不带秒显示。不知道无法使POSIXlt不显示秒数。非常感谢。
DATS$DateTime <- strptime(DATS$DateTime, format = "%Y-%m-%d %H:%M:%S")
DATS
             DateTime  Last
1 2016-04-25 23:59:15 42.84
2 2016-04-25 23:58:30 42.84
3 2016-04-25 23:57:45 42.85
4 2016-04-25 23:56:59 42.85
DATS$DateTime <- strptime(DATS$DateTime, format = "%Y-%m-%d %H:%M")
DATS
             DateTime  Last
1 2016-04-25 23:59:00 42.84
2 2016-04-25 23:58:00 42.84
3 2016-04-25 23:57:00 42.85
4 2016-04-25 23:56:00 42.85