如何从POSIXct类型日期中移除时间部分仅保留日期?
移除POSIXct日期中的时间部分,仅保留日期
你已经通过以下代码将字符型日期转换为POSIXct类型:
crime2$Date = parse_date_time(crime2$Date, orders = c('dmy_HM'),tz="UTC")
转换后的数据示例:
> head(crime2$Date, 10) [1] "2015-03-18 19:44:00 UTC" "2015-03-18 22:45:00 UTC" [3] "2015-03-18 22:30:00 UTC" "2015-03-18 22:00:00 UTC" [5] "2015-03-18 23:00:00 UTC" "2015-03-18 21:35:00 UTC" [7] "2015-03-18 22:50:00 UTC" "2015-03-18 23:40:00 UTC" [9] "2015-03-18 23:30:00 UTC" "2015-03-18 22:45:00 UTC"
下面给你两种实用的方法来保留仅日期部分:
方法1:转换为Date类型(推荐用于后续日期操作)
直接用as.Date()函数将POSIXct对象转为Date类型,自动丢弃时间部分,结果就是YYYY-MM-DD格式的日期对象:
crime2$Date <- as.Date(crime2$Date)
转换后查看结果:
> head(crime2$Date, 10) [1] "2015-03-18" "2015-03-18" "2015-03-18" "2015-03-18" "2015-03-18" [6] "2015-03-18" "2015-03-18" "2015-03-18" "2015-03-18" "2015-03-18"
这种方式得到的是Date类,适合后续做日期筛选、计算等操作。
方法2:转换为字符型日期(适合仅展示/存储字符串)
如果需要得到字符类型的日期字符串,用format()函数指定输出格式:
crime2$Date_char <- format(crime2$Date, "%Y-%m-%d")
其中%Y代表四位年份,%m代表两位月份,%d代表两位日期,组合起来就是你要的格式。
转换后结果示例:
> head(crime2$Date_char, 10) [1] "2015-03-18" "2015-03-18" "2015-03-18" "2015-03-18" "2015-03-18" [6] "2015-03-18" "2015-03-18" "2015-03-18" "2015-03-18" "2015-03-18"
内容的提问来源于stack exchange,提问作者Rochhh999
相关产品推荐
相关产品推荐

