R语言 如何合并日期和时间
R编程语言中的日期和时间对象可以用R中的字符串来表示,日期和时间对象可以用POSIX格式或以datetime对象的形式合并在一起。POSIXlt类存储日期和时间信息。
下面讨论的是在R中结合日期和时间的各种方法。
方法1:使用M3包
R语言中的M3包。R语言中的combined.data.and.time()方法可以用来合并日期和时间,得到POSIX格式的日期-时间对象。
语法: combine.date.and.time(date, time)
参数:
- date – 日期可以用Date格式指定,也可以用 “YYY-MM-DD “所指的字符串形式指定。
- time – 时间可以以由小时、分钟和秒元素组成的列表形式指定,也可以以HH:MM:SS(小时范围为00-23)的字符串形式指定。
返回
返回POSIX格式的日期-时间组合。
返回的日期-时间对象默认遵循GMT时区。如果日期或时间不是一个有效的日期或时间对象,将返回NA作为输出。
例1 :
library("M3")
# declaring date
date_obj <- "2021-06-04"
# declaring time
time_obj <- "23:02:34"
# combining date and time into
# single object
combine.date.and.time(date = date_obj, time = time_obj)
输出
[1] “2021-06-04 23:02:34 gmt”
也可以使用R Date对象指定日期,进行日期和时间的组合操作。
例2 :
library("M3")
# declaring date
date_obj <- "2021-06-04"
date_obj <- as.Date(date_obj)
# declaring time
time_obj <- "23:02:34"
# combining date and time into
# single object
combine.date.and.time(date = date_obj, time = time_obj)
输出
[1] “2021-06-04 23:02:34 gmt”
也可以使用对象中由小时、分钟和秒元素组成的R列表来指定时间,进行日期和时间的组合操作。
例3 :
library("M3")
# declaring date
date_obj <- "2021-06-04"
date_obj <- as.Date(date_obj)
# declaring time
time_obj <- list(hrs=22, mins=08, secs=35)
# combining date and time into
# single object
combine.date.and.time(date = date_obj, time = time_obj)
输出
[1] “2021-06-04 22:08:35 gmt”
方法2:as.POSIXct方法
使用paste()方法可以将日期和时间字符串转换到一起,形成一个字符串。POSIXct方法由一些函数组成,用于工作和操作属于 “POSIXlt “和 “POSIXct “类的对象,代表日历日期和时间。指定的日期-时间对象被转换为指定的字符串格式。
语法
as.POSIXct(date-time, tz, format=”%Y-%m-%d %H:%M:%S”)
参数:
- dat-time : 要转换为指定格式的字符串日期-时间对象。
- tz : 将对象转换为的时区。默认是UTC时区。
返回
返回POSIXct格式的日期-时间组合。
例子
# declaring date
date_obj <- "2021-06-04"
date_obj <- as.Date(date_obj)
# declaring time
time_obj <- "22:08:35"
# specifying the format
format <- "%Y-%m-%d %H:%M:%S"
# combining date and time into single object
as.POSIXct(paste(date_obj, time_obj), format=format)
输出
[1] “2021-06-04 22:08:35 ist”