在Python上将日期格式yyyy-md转换为yyyy-mm-dd

F.L*_*ira 6 python date date-format

在我的表格中,我有不同类型的日期,只是数字和这两种格式:

yyyy-m-d
yyyy-mm-dd
Run Code Online (Sandbox Code Playgroud)

某些值(例如月份)在小于10的月份中不为零,我需要它来创建条件以在最新日期之前选择元素。

我希望它们都具有相同的格式:

yyyy-mm-dd
Run Code Online (Sandbox Code Playgroud)

任何pythonic的方式来解决这个问题?

目前,我正在使用此:

if line.startswith('# Date:           '):
    #date = 2014-5-28
    d = line.strip().split(':')[-1].split('-').replace(' ','') 
        if len(d[0]) == 4:
            year = str(d[0])
        elif len(d[1]) < 2:
            month = '0'+ str(d[1])
        elif len(d[2]< 2):
            day = '0'+ str(d[1])

                        date = year +  month + day 
Run Code Online (Sandbox Code Playgroud)

Rak*_*esh 6

您可以使用python内置的datetime模块

import datetime

date1 = "2018-1-1"
date2 = "2018-01-01"

datetime_object = datetime.datetime.strptime(date1, "%Y-%m-%d")
datetime_object2 = datetime.datetime.strptime(date2, "%Y-%m-%d")

print datetime_object.strftime("%Y-%m-%d")
print datetime_object2.strftime("%Y-%m-%d")
Run Code Online (Sandbox Code Playgroud)

结果:

2018-01-01
2018-01-01
Run Code Online (Sandbox Code Playgroud)