首页 > 解决方案 > 从 R 中的 UNIX 时间戳中提取年份,仅使用基本包

问题描述

我可以使用以下代码从 unix 时间戳中提取年份:

# Unix timestamps: 1500000000, 1400000000

as.numeric(format(as.POSIXct(c(1500000000, 1400000000), origin = "1970-01-01"), "%Y"))

# [1] 2017 2014

但这似乎是一个简单任务的一长串代码。

我们可以编写更短的代码行来获取数字格式的年份而不使用任何额外的包lubridate吗?

标签: rlubridate

解决方案


而不是POSIXct,转换为POSIXlt并获取year组件:

as.POSIXlt(c(1500000000, 1400000000), origin="1970-01-01")$year + 1900

推荐阅读