POSIXct转换失败

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

我有一个非常奇怪的情况。我想将整数日期转换为日期。如果将日期作为字符传递,它也必须工作(以下代码对字符日期有效)。谁能告诉我为什么下面的转换不起作用?我的初始日期列xx [,1]是整数,可以正确转换为字符,如您在此处看到的。注意:所需的时间格式输出应该没有秒,这似乎是出问题了!

Browse[2]> tsCol
[1] 1
Browse[2]> timeFormat
[1] "%m/%d/%Y %M:%H"
Browse[2]> tz
[1] "GMT"  
Browse[2]> typeof(xx)
[1] "list"
Browse[2]> typeof(xx[,1])
[1] "integer"
Browse[2]> typeof(xx[,2])
[1] "integer"
Browse[2]> xx[1:15,1]
[1] 05/18/1992 00:00 05/18/1992 00:15 05/18/1992 00:30 05/18/1992 00:45 05/18/1992 01:00 05/18/1992 01:15 05/18/1992 01:30 05/18/1992 01:45 05/18/1992 02:00
[10] 05/18/1992 02:30 05/18/1992 02:45 05/18/1992 03:00 05/18/1992 03:15 05/18/1992 03:31 05/18/1992 03:45
329 Levels: 05/18/1992 00:00 05/18/1992 00:15 05/18/1992 00:30 05/18/1992 00:45 05/18/1992 01:00 05/18/1992 01:15 05/18/1992 01:30 ... 05/21/1992 21:15
Browse[2]> as.character(xx[1:15,tsCol],tz=tz,format=timeFormat)
[1] "05/18/1992 00:00" "05/18/1992 00:15" "05/18/1992 00:30" "05/18/1992 00:45" "05/18/1992 01:00" "05/18/1992 01:15" "05/18/1992 01:30" "05/18/1992 01:45"
[9] "05/18/1992 02:00" "05/18/1992 02:30" "05/18/1992 02:45" "05/18/1992 03:00" "05/18/1992 03:15" "05/18/1992 03:31" "05/18/1992 03:45"
Browse[2]> as.character(xx[1:15,tsCol])
 [1] "05/18/1992 00:00" "05/18/1992 00:15" "05/18/1992 00:30" "05/18/1992 00:45" "05/18/1992 01:00" "05/18/1992 01:15" "05/18/1992 01:30" "05/18/1992 01:45"
 [9] "05/18/1992 02:00" "05/18/1992 02:30" "05/18/1992 02:45" "05/18/1992 03:00" "05/18/1992 03:15" "05/18/1992 03:31" "05/18/1992 03:45"

但是使用POSIXct将字符日期转换为日期失败!!

Browse[2]> as.POSIXct(as.character(xx[1:5,tsCol]),tz=tz,format=timeFormat)
[1] "1992-05-18 00:00:00 GMT" "1992-05-18 15:00:00 GMT" NA                        NA                        "1992-05-18 00:01:00 GMT"

Browse[2]> as.POSIXct(xx[1:15,tsCol],tz=tz,format=timeFormat)
[1] "1992-05-18 00:00:00 GMT" "1992-05-18 15:00:00 GMT" NA                        NA                        "1992-05-18 00:01:00 GMT" "1992-05-18 15:01:00 GMT"
[7] NA                        NA                        "1992-05-18 00:02:00 GMT" NA                        NA                        "1992-05-18 00:03:00 GMT"
[13] "1992-05-18 15:03:00 GMT" NA                        NA                       
r datetime posixct date-conversion
1个回答
0
投票

时间格式应为“%m /%d /%Y%H:%M”。问题可以关闭。

© www.soinside.com 2019 - 2024. All rights reserved.