Sparklyr中的日期对象

时间:2017-03-27 16:31:37

标签: r apache-spark sparklyr

我有一个yyyymmdd的字符串,想要使用sparklyr将其转换为日期对象,以便我可以从另一个中减去一个日期。

此代码适用于yyyy-mm-dd hr:min:sec

temp_table <- taxi %>%
mutate(hrs = (unix_timestamp(tpep_dropoff_datetime) - unix_timestamp(tpep_pickup_datetime))

如果yyyy-mm-dd hr:min:sec只是yyyymmdd的字符串而不是字符串,我会使用什么?

我尝试过类似的东西但是没有用。

temp_table <- taxi %>%
mutate(hrs = (datetime.strptime(tpep_dropoff_datetime) - datetime.strptime(tpep_pickup_datetime))

2 个答案:

答案 0 :(得分:4)

使用as.Date并指定format

as.Date("20150102", format = "%Y%m%d")  
## [1] "2015-01-02"

可以通过运行?strptime

找到可用于指定格式的代码

答案 1 :(得分:0)

试试这个:

temp_table <- taxi %>%
mutate(hrs = (unix_timestamp(tpep_dropoff_datetime,'yyyyMMdd') - unix_timestamp(tpep_pickup_datetime,'yyyyMMdd'))