📜  如何从 R 中的日期时间中提取时间?(1)

📅  最后修改于: 2023-12-03 15:08:14.573000             🧑  作者: Mango

从 R 中的日期时间中提取时间

在 R 中,日期和时间通常以 POSIXctPOSIXlt 类型存储。如果想从中提取时间,可以使用以下函数。

使用基础函数

使用基础函数 format()substr() 可以轻松地从日期时间中提取时间。具体步骤如下:

  1. 使用 format() 函数将日期时间转换为指定格式的字符向量。
  2. 使用 substr() 函数从字符向量中提取时间部分。
# 创建日期时间向量
datetime <- as.POSIXct("2021-05-30 23:45:59")

# 使用 format() 函数将日期时间转换为指定格式的字符向量
datetime_str <- format(datetime, format = "%H:%M:%S")

# 使用 substr() 函数从字符向量中提取时间部分
time <- substr(datetime_str, start = 1, stop = 8)

time
# Output:
# [1] "23:45:59"
使用 lubridate 包

lubridate 包提供了许多方便的函数来处理日期和时间。使用 hms() 函数可以将时间字符串转换为一种特殊的类型,这样就可以直接从中提取时间。

# 安装并加载 lubridate 包
install.packages("lubridate")
library(lubridate)

# 创建日期时间向量
datetime <- as.POSIXct("2021-05-30 23:45:59")

# 使用 hms() 函数将时间字符串转换为特殊类型
time <- hms(format(datetime, format = "%H:%M:%S"))

time
# Output:
# 23:45:59 UTC

从 lubridate 的时间类型中提取时间很简单,只需要访问相应属性即可。

hour(time)
# Output:
# [1] 23

minute(time)
# Output:
# [1] 45

second(time)
# Output:
# [1] 59

以上是从 R 中的日期时间中提取时间的两种方法,大家可以根据自己的需要选择使用哪种。