- 此问题在此处已有答案**:
Parse date string and change format(10个答案)
2天前关闭。
我在json文件中有一些日期,看起来像这样:
2020-12-11
2020-5-1
2020-3-21
我想把它们转换成YYYY-MM-DD
。它们已经是类似的格式了,但是我想为一位数的月份和日期添加前导零。
输出应如下所示:
2020-12-11
2020-05-01
2020-03-21
我该怎么做呢?
Parse date string and change format(10个答案)
2天前关闭。
我在json文件中有一些日期,看起来像这样:
2020-12-11
2020-5-1
2020-3-21
我想把它们转换成YYYY-MM-DD
。它们已经是类似的格式了,但是我想为一位数的月份和日期添加前导零。
输出应如下所示:
2020-12-11
2020-05-01
2020-03-21
我该怎么做呢?
2条答案
按热度按时间sy5wg1nm1#
datetutil中的解析器可以按如下方式使用(
d1
是原始日期字符串):产生(日期时间格式,如果需要,可使用strftime()转换为字符串):
还有一个选项(
dayfirst = True
)用于声明月前一天。gfttwv5a2#
重新格式化日期字符串的常用方法是使用
datetime
模块(请参见How to convert a date string to different format)。在这里,您需要使用格式代码(引用文档中的描述)
%Y
-年份,世纪为十进制数。%m
-月份,以零填充的十进制数字表示。%d
-月份中的日期,以零填充的十进制数字表示。根据
datetime
文档中的脚注(9),%m
和%d
在与strptime
一起使用时接受不带前导零的月份和日期数字,但在与strftime
一起使用时将输出零填充数字。因此,您可以使用相同的格式字符串
%Y-%m-%d
来执行strptime
和strftime
之间的往返,以添加零填充。