仅用月和年更改日期格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅用月和年更改日期格式相关的知识,希望对你有一定的参考价值。

我有一个日期格式如下的列:

yyyymm (e.g. 201809)

我希望它们的格式如下:

mm.yyyy (e.g. 09.2018)

我试过了:

FF5factors$date <- strptime(FF5factors$date, format= "%Y%m")
format(FF5factors$date, format="%m.%Y")

但它只返回NA值。

答案

这是一些替代方案。这个问题没有以可重复的形式提供日期,所以我们假设下面的第一行,尽管前4个替代品也适用于date <- "201809"date <- factor(201809)

date <- 201809

# 1
sub("(....)(..)", "\2.\1", date)
## [1] "09.2018"

# 2
library(zoo)
format(as.yearmon(format(date), "%Y%m"), "%m.%Y")
## [1] "09.2018"

# 3
paste(substr(date, 5, 6), substr(date, 1, 4), sep = ".")
## [1] "09.2018"

# 4
format(as.Date(paste0(date, "01"), "%Y%m%d"), "%m.%Y")
## [1] "09.2018"

# 5
sprintf("%02d.%d", date %% 100, date %/%100)
## [1] "09.2018"
另一答案

关于什么:

d <- '201809'
format(as.Date(d,'%Y%M'),'%m.%Y')
[1] "09.2018"

以上是关于仅用月和年更改日期格式的主要内容,如果未能解决你的问题,请参考以下文章

Excel确定现有日期的上一个月和年

如何将整数转换为月和年格式

Drupal 视图 UI,过滤器暴露,集合字段内容中的日期仅按月和年(无天)

查询小于给定日期的所有日期(月和年)

如何将日、月和年添加到赛普拉斯中的选定日期

LINQ:在日期时间字段中按月和年分组