r - 使用基本R功能对POSIX日期(POSIXct)进行四舍五入

标签 r date datetime rounding posixct

我目前正在为我正在制作的程序包玩很多日期和时间。

post上遇到绊脚石再次提醒我,在转而使用contrib包之前,先检查一下基本R功能是否可以完成,这通常不是一个坏主意。

因此,是否可以使用基数R功能将POSIXct类的日期取整?

我检查了

methods(round)

哪一个“只有”给了我
[1] round.Date      round.timeDate*

   Non-visible functions are asterisked

这就是我想做的(伪代码)
x <- as.POSIXct(Sys.time())
[1] "2012-07-04 10:33:55 CEST"

round(x, atom="minute")
[1] "2012-07-04 10:34:00 CEST"

round(x, atom="hour")
[1] "2012-07-04 11:00:00 CEST"

round(x, atom="day")
[1] "2012-07-04 CEST"

我知道可以使用timeDatelubridate等完成此操作,但我想降低程序包的依赖性。因此,在继续检查各个软件包的源代码之前,我想问一下是否有人已经做过这样的事情。

最佳答案

base具有round.POSIXt可以做到这一点。不知道为什么它不提供methods

x <- as.POSIXct(Sys.time())
x
[1] "2012-07-04 10:01:08 BST"
round(x,"mins")
[1] "2012-07-04 10:01:00 BST"
round(x,"hours")
[1] "2012-07-04 10:00:00 BST"
round(x,"days")
[1] "2012-07-04"

关于r - 使用基本R功能对POSIX日期(POSIXct)进行四舍五入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11325631/

相关文章:

调用 sink() 后没有出现 R 输出

r - 向列名称添加描述性文本

javascript - 时间保存到数据库中为 00 :00:00

r - 对满足条件的第一行和最后一行之间的行进行分类

r - 使用 scale_x_datetime 时没有前导零

json - 转换 JSON 数据的性能问题

javascript - 如何验证字符串值的格式是否为 "\/Date(1239018869048)\/"?

javascript - pickadate.js 根据第一个输入设置焦点

python - 在 pd.dataframe 中查找一组连续常量值的干净 pythonic 方法是什么?

r - 在 R 中将字符串转换为十六进制