如何用R基础包将as.Date格式化为YYYYMMDD形式?
解决R中as.Date输出YYYYMMDD格式的问题
当你使用as.Date()时,得到的是Date类对象,R默认会以YYYY-MM-DD的格式显示这类对象。要得到YYYYMMDD格式的输出,用基础包的format()函数就能解决:
- 先将字符串转换为标准Date对象(这一步确保数据是合法的日期类型)
date_obj <- as.Date("20221130", format = "%Y%m%d")
- 再用
format()函数将Date对象转为目标格式的字符串
formatted_date <- format(date_obj, format = "%Y%m%d")
执行后,formatted_date的结果就是"20221130"。
如果想简化成一行代码,直接合并两步即可:
format(as.Date("20221130", format = "%Y%m%d"), format = "%Y%m%d")
核心逻辑:Date对象在R内部是按数值(自1970-01-01以来的天数)存储的,as.Date()的默认打印格式是R的内置设置,而format()函数可以按照指定规则把Date对象转换为字符型输出,从而实现你要的格式。
内容的提问来源于stack exchange,提问作者Alex F
相关产品推荐
相关产品推荐

