gpt4 book ai didi

r - 如何从POSIXlt时间中添加/减去时间,同时将其类保留在R中?

转载 作者:行者123 更新时间:2023-12-03 14:33:54 28 4
gpt4 key购买 nike

我正在操纵一些POSIXlt DateTime对象。例如,我想增加一个小时:

my.lt = as.POSIXlt("2010-01-09 22:00:00")
new.lt = my.lt + 3600
new.lt
# [1] "2010-01-09 23:00:00 EST"
class(new.lt)
# [1] "POSIXct" "POSIXt"


问题是我希望 new.ltPOSIXlt对象。我知道我可以使用 as.POSIXlt将其转换回 POSIXlt,但是有没有更优雅,更有效的方法来实现这一目标?

最佳答案

简短答案:否

长答案:

POSIXctPOSIXlt对象是更通用的POSIXt类的两种特定类型(不是严格意义上的面向对象的继承意义,而是准对象的实现意义)。代码在这些之间自由切换。当您添加到POSIXlt对象时,使用的实际功能是+.POSIXt,而不是专门用于POSIXlt的功能。在此函数内部,参数将转换为POSIXct,然后进行处理(添加为)。

另外,POSIXct是距特定日期和时间的秒数。 POSIXlt是日期部分的列表(秒,分钟,小时,月份,月,年,周,日,DST信息),因此直接添加日期没有任何意义。将其转换为秒数(POSIXct)并加上它确实很有意义。

关于r - 如何从POSIXlt时间中添加/减去时间,同时将其类保留在R中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8857287/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com