R:从日期开始删除小时,分钟,秒

时间:2019-02-20 10:17:19

标签: r date dataframe

我有一个数据框,其中包含一个日期列,它采用POSIXCT格式,如下所示

"2019-02-18 00:00:31 IST"

我想要以下格式的日期

 "2019-02-18" 

但是当我申请

 x = as.Date( DATE ,"%Y%m%d") 

它给出了以下警告

Warning message:
In as.POSIXlt.POSIXct(x, tz = tz) : unknown timezone '%Y%m%d'

我的输出错误(前一天的错误)

"2019-02-17"

请让我知道发生了什么事。

2 个答案:

答案 0 :(得分:0)

一种选择是将POSIXct日期时间转换为一个字符,然后采用前10个字符:

date <- as.POSIXct("2019-02-18 00:00:31", format="%Y-%m-%d %H:%M:%OS", tz="Asia/Kolkata")
date
date.str <- as.character(date)
substr(date.str, 1, 10)

[1] "2019-02-18 00:00:31 IST"
[1] "2019-02-18"

答案 1 :(得分:0)

您也可以使用strftime()进行此操作:

strftime(d, format="%Y-%m-%d")
[1] "2019-02-18"

使用format=,您基本上可以选择要提取的内容。即使提取"%Y",它也可以工作以提取年份分量。

数据:

d <- as.POSIXlt("2019-02-18 00:00:31 IST")
相关问题