当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R UNIX Timestamp转Date Object用法及代码示例


UNIX 时间戳是指自纪元以来经过的秒数。时间戳对象不容易理解,应该转换为其他用户友好的格式。 R 编程语言中的 Date 对象可用于以清晰的方式显示指定的时间戳。日期对象存储为自 1970 年 1 月 1 日以来的天数,其中负数用于更早的日期。这里我们将看到如何在 R 编程中将 UNIX 时间戳转换为日期对象。

方法1:使用lubridate包

R 中的 Lubridate 包负责使日期和时间的处理变得更容易。它包含专门的解析函数,可以将时间戳操作和修改为各种不同的可用格式和时区。需要使用以下语法将该包安装到 R 库中:

install.packages("lubridate")

该包中的as_datetime()方法用于将UNIX时间戳转换为日期对象。此方法默认使用 UTC 时区。

用法:as_datetime(timestamp, tz)    

Arguments : tz - 对应的时区

代码:

R


library("lubridate") 
timestamp <- 2012368256 
datetime <- as_datetime(timestamp)    
  
print ("DateTime Notation") 
print (datetime) 

输出:

[1] "DateTime Notation" 
[1] "2033-10-08 07:10:56 UTC"

方法2:使用as.POSIXct方法

可以先将时间戳转换为POSIXct对象,然后再进行转换。 POSIXct 对象简化了数学运算的过程,因为它们依赖秒作为时间管理的主要单位。日期将转换为标准时区 UTC。时间戳对象可以转换为 POSIXct 对象,使用 R 中的 as.POSIXct(date) 方法。

as.POSIXct(timestamp, origin = "1970-01-01")

接下来是在 POSIXct 对象上应用 as.Date 方法。日期对象存储为从 1970 年 1 月 1 日开始计算的天数,其中负数用于指较早的日期。 Date 对象直接支持基本算术,其中直接从日期中添加或减去整数。 Date 对象还可以指定不同的格式来包含日期。 as.Date() 方法将 POSIXct 日期对象作为输入并将其转换为 Date 对象。

as.Date(character date object)

该方法的不同之处在于,它仅显示日期对象,而上述方法将其转换为完整的DateTime对象。

代码:

R


# declaring the timestamp 
timestamp <- 2012368256 
  
# converting to POSIXct notation 
posixt <- as.POSIXct(timestamp, 
                     origin = "1970-01-01") 
  
# converting to readable date  
# time object 
datetime <- as.Date(posixt) 
print ("DateTime Notation") 
print (datetime) 

输出:

[1] "DateTime Notation" 
[1] "2033-10-08"


相关用法


注:本文由纯净天空筛选整理自yippeee25大神的英文原创作品 Convert UNIX Timestamp to Date Object in R。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。