Python学習第15編:日付と時間

5214 ワード

datetimeモジュールには、date、time、datetime、timedelta、tzinfoの5つの基本タイプが含まれています.tzはtime zoneの略で、tzinfoはタイムゾーン情報を表すために使用されます.
一、dateタイプ
dateタイプは日付を表し、year、month、dayからなるオブジェクトです
1,dateオブジェクトの初期化
date(year,month,day)関数を使用してdateオブジェクトを初期化します.
from datetime import date
mydate=date(year,month,day)

2,dateオブジェクト関数
dateオブジェクトは、日付のyear、month、dayを返すことができます.
  • mydate.year
  • mydate.month
  • mydate.day

  • dateタイプのタイプメソッドdate.today()現在の日付を返す
    >>> from datetime import date
    >>> date.today()
    datetime.date(2019, 6, 27)

    3,dateオブジェクトのフォーマット
    dateオブジェクトを標準化した文字列「YYYY-MM-DD」に変換
    >>> mydate=date(2019,3,1)
    >>> mydate.__str__()
    '2019-03-01'
    >>> mydate.isoformat()
    '2019-03-01'
    >>> str(mydate)
    '2019-03-01'

    カスタムフォーマット:
  • %Y:4桁表示の年、YYY
  • %m:2ビットの数字は月を表して、MM
  • %d:2ビット数で表される日分、DD
  • >>> mydate.strftime('%Y-%m-%d')
    '2019-03-01'
    >>> mydate.__format__('%Y-%m-%d')
    '2019-03-01'

    二、timeタイプ
    時間タイプは時間を表し、日付属性を持たず、時、分、秒、ミリ秒、タイムゾーンからなるオブジェクトであり、ミリ秒の値範囲は0~999999である.
    time(hour, minute, second[, microsecond[, tzinfo]])

    時間オブジェクトのプロパティ:
  • mytime.hour
  • mytime.minute
  • mytime.second
  • mytime.microsecond
  • mytime.tzinfo

  • 時間オブジェクトのフォーマット:
  • %H:2ビット数表示の24時間制
  • %I:2ビット数表示の12時間制
  • %M:2桁の数字で表される分
  • %S:2ビット数で示す秒
  • %f:6ビット数で表されるミリ秒
  • 三、datetimeタイプ
    Datetimeタイプには、日付も時間も含まれます.日付と時間からなるタイプです.
    datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])

    Datetimeオブジェクトのプロパティ:year、month、day、hour、minute、second、microsecond、tzinfo.
    datetimeオブジェクトの関数:
  • mydatetime.date()
  • mydatetime.time()は、time zoneを持たない、またはtime zoneがNone
  • であると考える
  • mydatetime.timetz()、time zone
  • 付き
    現在の日付と時刻
    from datetime import datetime
    datetime.today()
    datetime.utcnow()
    datetime.now([tz])

    四、timedeltaタイプ
    timedeltaオブジェクトは、1つの期間を表し、2つの日付または時間の差を表します.パラメータに年はありません.
    datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

    timedelta()を使用して、日付の増加または減少を計算します.
    >>> from datetime import timedelta
    >>> date(2019,3,1) + timedelta(days = 1)
    datetime.date(2019, 3, 2)
    >>> date(2019,4,1) + timedelta(days = -1)
    datetime.date(2019, 3, 31)

    五、strftime()とstrptime()
    date、time、datetimeオブジェクトには、日付と時間を特定のフォーマットを持つ文字列に変換する関数strftime(format)があり、クラスメソッドdatetime.strptime(date_string,format)は、フォーマットされた文字列を日付と時間のタイプに変換するために使用されます.
    例を挙げると、文字列をdateタイプに変換します.
    >>> import datetime
    >>> date_str = '2017-01-01'
    >>> datetime.datetime.strptime(date_str,'%Y-%m-%d').date()
    datetime.date(2017, 1, 1)

     
     
    参照ドキュメント:
    8.1. datetime — Basic date and time types
    【Python】datetimeライブラリの詳細