Python日付の増減などの操作

2394 ワード

1.日付出力フォーマット
すべての日付、時間のapiはdatetimeモジュール内にあります.
1. datetime => string
now = datetime.datetime.now()
now.strftime('%Y-%m-%d %H:%M:%S')
#  2012-03-05 16:26:23.870105

strftimeはdatetimeクラスのインスタンスメソッドです.
2. string => datetime
t_str = '2012-03-05 16:26:23'
d = datetime.datetime.strptime(t_str, '%Y-%m-%d %H:%M:%S')

strptimeはdatetimeクラスの静的メソッドです.
2.日付比較操作
datetimeモジュールにはtimedeltaクラスがあり、このクラスのオブジェクトは、2つの日付や時間の違いなどの時間間隔を表すために使用されます.
構築方法:
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

すべてのパラメータにはデフォルト値0があり、intまたはfloat、正または負のパラメータがあります.
timedeltaを通ることができます.days、tiemdelta.secondsなどは、対応する時間値を取得します.
timedeltaクラスのインスタンスは、加算、減算、乗算、除算などの操作をサポートし、結果もtimedeltaクラスのインスタンスです.例:
year = timedelta(days=365)
ten_years = year *10
nine_years = ten_years - year

また、date、time、datetimeクラスはtimedeltaとの加算、減算演算もサポートします.
datetime1 = datetime2 +/- timedelta
timedelta = datetime1 - datetime2

これにより、いくつかの機能を簡単に実現することができます.
1.2つの日付の差は何日ですか.
d1 = datetime.datetime.strptime('2012-03-05 17:41:20', '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime('2012-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
delta = d1 - d2
print delta.days

出力:3
[原句]今日のn日後の日付.
now = datetime.datetime.now()
delta = datetime.timedelta(days=3)
n_days = now + delta
print n_days.strftime('%Y-%m-%d %H:%M:%S')

出力:2012-03-08 17:44:50
#coding=utf-8
import datetime
now=datetime.datetime.now()
print now
#          datetime => string
print now.strftime('%Y-%m-%d %H:%M:%S')

t_str = '2012-03-05 16:26:23'
#          string => datetime
d=datetime.datetime.strptime(t_str,'%Y-%m-%d %H:%M:%S')
print d

# datetime    timedelta ,                ,     #        。

#         
d1 = datetime.datetime.strptime('2012-03-05 17:41:20', '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime('2012-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
delta = d1 - d2
print delta.days
print delta

#   n     。
now=datetime.datetime.now()
delta=datetime.timedelta(days=3)
n_days=now+delta
print n_days.strftime('%Y-%m-%d %H:%M:%S')