如何从 R 中的时间戳中提取时间?
在本文中,我们将了解如何在 R 编程语言中从时间戳中提取时间。
方法 1:在 R 中使用 POSIXct 类
我们可以以字符串变量的形式存储一个日期变量,然后将其转换为通用格式的时间戳。可以使用 POSIXct 方法将日期时间字符串变量转换为 POSIXct 类。使用 as.POSIXct 方法在 R 中存储日期和时间以及关联的时区。 POSIXlt 类分别维护小时、分钟、秒、日、月和年的记录。 POSIXct 类以秒为单位保存日期和时间,其中秒数从 1970 年 1 月 1 日开始。此方法用于存储和计算。然后可以使用 format() 方法从 datetime 对象中提取时间戳。
format() 方法具有以下语法:
format(date, format =) ,
where the first parameter illustrates the date and second the specific format specifier
代码:
R
# declaring string variable
date <- "01/08/2020 12:48:00"
# conversion of date variable into
# POSIXct format
date <- as.POSIXct(date, format = "%m/%d/%Y %H:%M:%S")
# print original complete date
print ("Original TimeStamp: ")
print (date)
# extract time from date
time <- format(date, format = "%H:%M:%S")
print("Extraction of time: ")
print(time)
R
# invoking specific library
library(lubridate)
# declaring string variable
date <- dmy_hms("01/08/2020 11:18:56")
# print original complete date
print ("Original TimeStamp: ")
print (date)
# extract time from date
time <- format(date, format = "%H:%M:%S")
print("Extraction of time: ")
print(time)
R
require("hms")
# declaring string variable
date <- "01/08/2020 12:15:38"
# conversion of date variable into
# POSIXct format
date <- as.POSIXct(date, format = "%m/%d/%Y %H:%M:%S")
# print original complete date
print ("Original TimeStamp: ")
print (date)
# extract time from date
time <- as_hms(date)
print("Extraction of time: ")
print(time)
输出
[1] "Original TimeStamp: "
[1] "2020-01-08 12:48:00 UTC"
[1] "Extraction of time: "
[1] "12:48:00"
方法 2:在 R 中使用 Lubridate 包
R 中的 Lubridate 包用于存储和修改日期格式。它有大量可用的解析函数,可以非常简单地访问日期和各种格式。该包中的 dmy_hms() 方法是最常用的方法,用于以标准格式(数据-月-年-时-分-秒)存储日期。如果未指定时区(tz),则使用标准 UTC 时区进行计算。可以从此对象中提取特定信息,而不会影响原始日期时间对象。 format() 方法用于从这个 lubridate datetime 对象中提取时间。
dmy_hms() 方法具有以下语法:
dmy_hms(date),
which returns the date in complete time stamp format.
代码:
电阻
# invoking specific library
library(lubridate)
# declaring string variable
date <- dmy_hms("01/08/2020 11:18:56")
# print original complete date
print ("Original TimeStamp: ")
print (date)
# extract time from date
time <- format(date, format = "%H:%M:%S")
print("Extraction of time: ")
print(time)
输出
[1] "Original TimeStamp: "
[1] "2020-01-08 11:18:56 UTC"
[1] "Extraction of time: "
[1] "11:18:56"
方法 3:在 R 中使用 hms 包
R 中的 hms 包还可用于对日期时间对象执行访问、存储和算术运算。可以首先使用以下命令将软件包安装到环境中:
install.packages("hms")
然后可以包含该包以提供处理日期时间对象操作的方法。该库提供了一个函数as_hms(date),用于直接从日期时间对象访问时间戳。 hms 代表小时分和秒。字符串类型的日期需要先转换成标准的POSIXct格式,才能应用这个方法。
as_hms(date) 方法将完整的日期时间对象作为输入并从中提取时间戳。
代码:
电阻
require("hms")
# declaring string variable
date <- "01/08/2020 12:15:38"
# conversion of date variable into
# POSIXct format
date <- as.POSIXct(date, format = "%m/%d/%Y %H:%M:%S")
# print original complete date
print ("Original TimeStamp: ")
print (date)
# extract time from date
time <- as_hms(date)
print("Extraction of time: ")
print(time)
输出
[1] "Original TimeStamp: "
[1] "2020-01-08 12:15:38 IST"
[1] "Extraction of time: "
[1] 12:15:38