You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言Lubridate包dmy函数转换日期后输出格式不符问题咨询

问题解答

你对dmy()函数的功能存在误解,具体说明如下:

  • dmy()是日期解析函数,名称里的d/m/y仅用来标注你输入的字符型日期的排列顺序,告诉函数你提供的字符串是按「日-月-年」的规则排列的,方便它正确提取对应数值生成标准日期对象,和最终输出的展示格式完全没有关联。
  • R语言中的Date类型本质是存储1970年1月1日至今的天数的整数,本身没有内置任何展示格式属性。默认在控制台打印时,R会统一采用yyyy-mm-dd的ISO标准格式显示日期值,这是R的默认规则,和你使用的日期解析函数没有关系。

如果你需要得到dd/mm/yyyy格式的结果,可按需选择以下方案:

  1. 仅需要临时输出指定格式的内容:使用format()函数转换即可,注意转换后得到的是字符类型,无法直接参与日期运算
# 示例代码
formatted_date <- format(base$date, "%d/%m/%Y")
str(formatted_date)
#>  chr [1:38] "23/09/2020" "23/09/2020" "17/06/2020" "03/06/2020" ...
  1. 想要修改当前会话的日期默认打印格式:可以调整系统locale的日期配置,不过该修改仅对当前打开的R会话生效,还可能影响其他依赖默认格式的代码逻辑,一般不推荐随意修改。

内容的提问来源于stack exchange,提问作者user17465205

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:27:00