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' )