59 から 05 (1959 から 2005) の範囲の形式yymmdd
で6 桁の日付を表す文字列を解析する必要があります。yy
モジュールのドキュメントによるとtime
、Python のデフォルトのピボット年は 1969 年ですが、これはうまくいきません。
ピボットの年を上書きする簡単な方法はありますか、または他の解決策を提案できますか? Python 2.7 を使用しています。ありがとう!
59 から 05 (1959 から 2005) の範囲の形式yymmdd
で6 桁の日付を表す文字列を解析する必要があります。yy
モジュールのドキュメントによるとtime
、Python のデフォルトのピボット年は 1969 年ですが、これはうまくいきません。
ピボットの年を上書きする簡単な方法はありますか、または他の解決策を提案できますか? Python 2.7 を使用しています。ありがとう!
私はdatetime
それを通常どおり使用して解析します。次にdatetime.datetime.replace
、天井の日付を過ぎている場合は、オブジェクトで使用します-100年前に調整します。
import datetime
dd = datetime.datetime.strptime(date,'%y%m%d')
if dd.year > 2005:
dd = dd.replace(year=dd.year-100)
独自のピボットを使用して、日付の前に世紀を追加します。
year = int(date[0:2])
if 59 <= year <= 99:
date = '19' + date
else
date = '20' + date
の代わりにディレクティブを使用strptime
します。%Y
%y
import datetime
date = '20-Apr-53'
dt = datetime.datetime.strptime( date, '%d-%b-%y' )
if dt.year > 2000:
dt = dt.replace( year=dt.year-100 )
^2053 ^1953
print dt.strftime( '%Y-%m-%d' )