使用python将日期从dd-mm-yy转换为dd-mm-yyyy [英] Convert date from dd-mm-yy to dd-mm-yyyy using python

查看:348
本文介绍了使用python将日期从dd-mm-yy转换为dd-mm-yyyy的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个日期输入"date_dob",即"20-Apr-53"我尝试使用以下代码将其转换为yyyy-mm-dd格式:

I have a date input 'date_dob' which is '20-Apr-53' I tried converting this to format yyyy-mm-dd using following code:

print pd.to_datetime(date_dob,format = '%d-%b-%y')

返回'2053-04-20 00:00:00'而不是'1953-04-20 00:00:00'

which returns '2053-04-20 00:00:00' instead of '1953-04-20 00:00:00'

推荐答案

您需要明确检查年份,然后减去100年,如下所示:

You need to explicitly check for the year, and then subtract it by 100 years as:

>>> import datetime

>>> my_date = '20-Apr-53'
>>> d = datetime.datetime.strptime(my_date, '%d-%b-%y')
>>> d
datetime.datetime(2053, 4, 20, 0, 0)
#                   ^ year = 2053  
>>> if d.year > 2000:
...     d = d.replace(year=d.year-100)  # subtract year by 100
... 
>>> d
datetime.datetime(1953, 4, 20, 0, 0)
#                   ^ year = 1953
>>> d.strftime('%Y-%m-%d') # %Y instead of %y, reason mentioned below
'1953-04-20'
#  ^ all four digit of year

使用%Y 而不是%y ,因为:

  • %y :显示年份的后两位数字

  • %y: displays last two digit of year

%Y :显示年份的所有四位数

%Y: display all four digit of year

这篇关于使用python将日期从dd-mm-yy转换为dd-mm-yyyy的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆