在Julia中将1/22/20格式日期转换为2020-01-22的方法咨询
问题原因
你使用的格式串"m/d/y"中,y会把输入里的两位数字20识别为公元20年,因此输出年份显示为0020。
解决方案
可以任选以下两种适配方案:
- 方案1:调整格式串为
"m/d/yy",yy是专门匹配两位年份的格式符,Julia的Dates模块默认会将小于30的两位年份归属到21世纪,刚好适配你的场景:
using Dates # 先解析为DateTime类型,推荐用dateformat""宏提升运行性能 d1.parsed_dt = DateTime.(d1.date, dateformat"m/d/yy") # 如果需要直接输出为"2020-01-22"格式的字符串 d1.target_date = Dates.format.(d1.parsed_dt, dateformat"Y-m-d")
- 方案2:如果你的所有数据年份都属于21世纪,也可以在原有解析结果基础上直接补2000年,逻辑更可控:
using Dates d1.parsed_dt = DateTime.(d1.date, dateformat"m/d/y") + Year(2000) # 转目标字符串格式的操作和上述方案一致 d1.target_date = Dates.format.(d1.parsed_dt, dateformat"Y-m-d")
内容的提问来源于stack exchange,提问作者codedancer
相关产品推荐
相关产品推荐

