用R格式化日期,年份中不带零

时间:2020-06-10 15:47:56

标签: r date posixct

我在使用功能POSIXct时遇到麻烦。 当我在数据集中应用该函数时,年份将出现,前面有两个零。 像这样:


datu1$timestamp <- as.POSIXct(datu1$date.sec, origin = "1970-01-01", tz="GMT")
datu1$timestamp <- as.POSIXct(datu1$timestamp, 
                                     format = "%Y-%m-%d %H:%M:%S", tz = 'GMT')

head(datu1)

  ID     date.sec      lon       lat  lon.025   lat.025 lon.5  lat.5  lon.975   lat.975
1 102211.10 -61827840000 -38.6616 -13.59272 -40.5025 -15.25025 -38.7 -13.76 -36.9000 -10.88950
2 102211.10 -61827818400 -38.6647 -13.60312 -40.4000 -15.17025 -38.7 -13.77 -37.0975 -11.03975
3 102211.10 -61827796800 -38.6723 -13.64505 -40.3000 -15.10000 -38.7 -13.79 -37.0000 -11.29950
4 102211.10 -61827775200 -38.6837 -13.68972 -40.2000 -14.98025 -38.7 -13.83 -37.2000 -11.45975
5 102211.10 -61827753600 -38.7030 -13.73054 -40.2000 -14.98100 -38.7 -13.84 -37.3000 -11.62925
6 102211.10 -61827732000 -38.7221 -13.77846 -40.0000 -15.04050 -38.7 -13.88 -37.5000 -11.69950
  bmode bmode.5           timestamp
1 1.556       2 0010-10-03 00:00:00
2 1.565       2 0010-10-03 06:00:00
3 1.571       2 0010-10-03 12:00:00
4 1.571       2 0010-10-03 18:00:00
5 1.589       2 0010-10-04 00:00:00
6 1.599       2 0010-10-04 06:00:00

我该如何解决这一问题以获得完整的年份(如2010年)而不是两个零?

1 个答案:

答案 0 :(得分:0)

也许您的数据使用奇怪的origin(例如excel uses "1899-12-30")进行了编码。只要修改origin=',直到日期与您所需的日期匹配即可。

as.POSIXct(-61827840000, origin="1970-01-01", tz="GMT")
# [1] "0010-10-03 GMT"
as.POSIXct(-61827840000, origin="3970-01-01", tz="GMT")
# [1] "2010-10-03 GMT"
相关问题