📌  相关文章
📜  在 R 中将 UNIX 时间戳转换为日期对象

📅  最后修改于: 2022-05-13 01:55:19.917000             🧑  作者: Mango

在 R 中将 UNIX 时间戳转换为日期对象

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

方法一:使用lubridate包

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

install.packages("lubridate")

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

代码:

R
library("lubridate")
timestamp <- 2012368256
datetime <- as_datetime(timestamp)   
  
print ("DateTime Notation")
print (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 07:10:56 UTC"

方法二:使用 as.POSIXct 方法

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

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

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

as.Date(character date object)

这个方法的区别在于它只显示日期对象,而上面的方法将其转换为完整的DateTime对象。

代码:

电阻

# 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"