2017-04-05 72 views
2

请问如何在从__:59结束的日期时间添加一秒钟?在r中加入一秒钟到特定时间

即,从这样的:

   dateTime rain_mm 
1 2012-12-01 00:00:00  1.0 
2 2012-12-01 00:06:00  0.0 
3 2012-12-01 00:11:59  0.0 
4 2012-12-01 00:17:59  0.0 
5 2012-12-01 00:24:00  0.2 
6 2012-12-01 00:30:00  0.0 
7 2012-12-01 00:36:00  1.0 
8 2012-12-01 00:42:00  0.0 
9 2012-12-01 00:48:00  0.8 
10 2012-12-01 00:53:59  0.2 

到:

   dateTime rain_mm 
1 2012-12-01 00:00:00  1.0 
2 2012-12-01 00:06:00  0.0 
3 2012-12-01 00:12:00  0.0 
4 2012-12-01 00:18:00  0.0 
5 2012-12-01 00:24:00  0.2 
6 2012-12-01 00:30:00  0.0 
7 2012-12-01 00:36:00  1.0 
8 2012-12-01 00:42:00  0.0 
9 2012-12-01 00:48:00  0.8 
10 2012-12-01 00:54:00  0.2 

任何帮助吗? 预先感谢您

回答

2

您可以检查as.integer(format(x, "%S") == "59"),当转换成整数将成为无论是10,你可以方便地添加到x因为POSIXct是几秒钟(通常1970-01-01措施:00: 00:00或在某些情况下,任意来源)。

x = structure(c(1354342319, 1354343040), class = c("POSIXct", "POSIXt"), tzone = "") 
x 
#[1] "2012-12-01 00:11:59 CST" "2012-12-01 00:24:00 CST" 
x + as.integer(format(x, "%S") == "59") 
#[1] "2012-12-01 00:12:00 CST" "2012-12-01 00:24:00 CST" 
+2

尽管您可以从as.POSIXct中的任意来源输入,POSIXct始终是自1970-01-01:00:00: – thelatemail

相关问题