📅  最后修改于: 2023-12-03 15:08:14.573000             🧑  作者: Mango
在 R 中,日期和时间通常以 POSIXct
或 POSIXlt
类型存储。如果想从中提取时间,可以使用以下函数。
使用基础函数 format()
和 substr()
可以轻松地从日期时间中提取时间。具体步骤如下:
format()
函数将日期时间转换为指定格式的字符向量。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 包提供了许多方便的函数来处理日期和时间。使用 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 中的日期时间中提取时间的两种方法,大家可以根据自己的需要选择使用哪种。