ホームページ >バックエンド開発 >Python チュートリアル >Python の time モジュールと datetime モジュール

Python の time モジュールと datetime モジュール

高洛峰
高洛峰オリジナル
2017-03-01 13:35:081255ブラウズ

time module

time モジュールは、時間に関するさまざまな操作を含む関数です。これらは多くの場合有効ですが、すべてのメソッドが struct_time

import time

# time.struct_time(tm_year=2015, tm_mon=4, tm_mday=24, 
          tm_hour=14, tm_min=17, tm_sec=26, 
          tm_wday=4, tm_yday=114, tm_isdst=0)
# 2015
print time.localtime()
print time.localtime().tm_year

関数で時間を表すわけではありません。

  • time.time(): タイムスタンプを返します。

  • time.asctime([t]): gmtime() および localtime() によって返されたタプルまたは struct_time を string.

  • time に変換します。 Clock(): 初めて呼び出されたときは、プログラムが実行されていた時刻を返します。 2 回目以降は、以前の間隔を返します。

  • time.ctime([secs]): タイムスタンプを時刻文字列。指定しない場合は、現在の時刻文字列が返されます。これは asctime(localtime()) と同じです。

  • time.gmtime([secs]): タイムスタンプを struct_time.

  • time に変換します。 UTC タイム ゾーンの .localtime([secs]): gmtime() と似ていますが、ローカル タイム ゾーンに変換します。

  • time.mktime(t): struct_time を timestamp に変換します。

  • time.sleep (secs): 秒単位で指定された時間だけスレッドを遅延させます。

  • time.strftime(format[,t]): パラメータに従って sturc_time またはタプルを文字列に変換します。 [, format]) : strftime とは逆に、struct_time を返します。

  • import time
    
    # Fri Apr 24 06:39:34 2015
    print time.asctime(time.gmtime())
    
    # 0.0
    # None
    # 1.01136392961 因计算机而异
    print time.clock()
    print time.sleep(1)
    print time.clock()
    
    # Fri Apr 24 14:42:07 2015
    print time.ctime()
    
    # 2015-04-24
    print time.strftime('%Y-%m-%d', time.localtime())
    # 1429857836.0
    print time.mktime(time.localtime())

時間モジュールで一般的に使用される書式文字列

%y 2 桁の年 00 ~ 99。

  • %Y 4桁の年 0000 ~ 9999

  • %m 月 01 ~ 12.

  • %d 日 01 ~ 31.

  • %H 時間 00 ~ 23.

  • %I時間 01 ~ 12.

  • %M 分 00 ~ 59.

  • %S 秒 00 ~ 61.

  • datetime モジュール

datetime モジュールは、日付と時刻に関する単純または複雑な操作を提供します. datetime モジュールは、次の利用可能な型 (利用可能な型) を提供します。datetime.MINYEAR および datetime.MAXYEAR モジュール定数は、datetime クラスで受け入れられる範囲を表します

: 年、月、日を提供する理想化された日付属性

  • class datetime.time: 時、分、秒、マイクロ秒、tzinfo を提供する理想的な時刻。

  • class datetime.datetime: 年、月、日、時間、を提供します。分、秒、マイクロ秒、tzinfo.

  • class datetime.timedelta: 2 つの日付、time と datetime の持続時間の微妙な違いを表現します。

  • class datetime.tzinfo: time オブジェクトの抽象基本クラス。

  • from datetime import timedelta, datetime
    
    a = datetime.now()
    b = timedelta(days=7)
    
    # 7 days, 0:00:00
    # 2015-04-14 16:02:39.189000
    print b
    print a - b

クラスとメソッドについて詳しく話しましょう

dateクラス

日付オブジェクトは理想的な日付を表します。

  class datetime.date(year, month, day)
    # All arguments are required. Arguments may be ints or longs.
    # 所有参数都是必须的. 参数可能是 int 或 long.
    MINYEAR <= year <= MAXYEAR
    1<= month <= 12
    1<= day <= number of days in the given month and year.(随着月份和年份)

パラメータが指定された範囲外の場合、それはvalueError.

1 がスローされます。クラス メソッド>`date.today()`: `date.fromtimestamp(time.time())` と同等の現在のローカル日付を返します。

現在のローカル日付を返しますこれは `date.fromtimestamp(time.time())` と同等です。

  from datetime import date

  # print 2015-04-21
  print date.today()


2.date.fromtimestamp(timestamp): 指定されたタイムスタンプに基づいてローカルの日付を返します。 time 型 Storage.

import time
from datetime import date

# 1429587111.21
# 2015-04-21
print time.time()
print date.fromtimestamp(time.time())

3. クラスメソッド date.fromordinal(ordinal): 提供されたグレゴリオ暦に従って日付を返します (説明なし)

クラス属性

date( MINYEAR, 1, 1).

  • date.max: date(MAXYEAR, 12, 31) を返します。

  • date.year: MINYEAR と MAXYEAR の間の年を返します

  • date.month: 返します1 月から 12 月までの月

  • date.day: 1 から n までを返します

  • d = date(2014, 4, 21)
    # 2014 4 21
    print d.year, d.month, d.day

インスタンスメソッド

date.replace(year, month, day): 同じものを返しますこれらのパラメーターがキーワードの新しい値を指定することを除いて、値のデータ オブジェクト。

  • date.toordinal(): time.struct_time オブジェクトを返します。 .

  • date.weekday(): 月曜日は 0、日曜日は 6 を返します。
  • date.isoweekday(): 月曜日は 1、日曜日は 7 を返します。 .
  • date.isocalendar(): 3 つの要素 (ISO 年、ISO 週番号、ISO 曜日) を返します。
  • date.isoformat(): 'YYYY-MM-DD' の文字列形式を返します。
  • date.ctime(): 文字列日付を返します。 d.ctime() は time.ctime(time.mktime(d.timetuple())) と同等です。
  • date.strftime(format) :カスタマイズされた形式の文字列日付を返します。
  • d = date(2015, 4, 21)
    
    # 2015-04-21
    # 2015-04-21
    # 2015-04-22
    print d
    print d.replace()
    print d.replace(day=22)
    
    # time.struct_time(tm_year=2015, tm_mon=4, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=111, tm_isdst=-1)
    print d.timetuple()
    
    # print 1
    # print 2
    print d.weekday()
    print d.isoweekday()
    
    # print 2015-04-21
    print d.isoformat()
    
    # print 21/04/2015
    print d.strftime(&#39;%d/%m/%y&#39;)

  • datetimeクラス

  • datetimeオブジェクトは、すべての日付と時刻オブジェクトの情報を含む単一のオブジェクトです。

class datetime.datetime(year, month, day[, hour
                    [, minute
                    [, second
                    [, microsecond
                    [, tzinfo]]]]])
  # The year, month and day arguments are required.
  MINYEAR <= year <= MAXYEAR
  1 <= month <= 12
  1 <= day <= n
  0 <= hour < 24
  0 <= minute < 60
  0 <= second < 60
  0 <= microsecond < 10**6

クラスメソッド

datetime.today(): tzinfo なしで現在のローカル日時を返します。これは datetime.fromtimestamp(time.time()) と同等です。

  • datetime.now([tz]): 返回当前本地日期和时间, 如果可选参数tz为None或没有详细说明,这个方法会像today().

  • datetime.utcnow(): 返回当前的UTC日期和时间, 如果tzinfo None ,那么与now()类似.

  • datetime.fromtimestamp(timestamp[, tz]): 根据时间戳返回本地的日期和时间.tz指定时区.

  • datetime.utcfromtimestamp(timestamp): 根据时间戳返回 UTC datetime.

  • datetime.fromordinal(ordinal): 根据Gregorian ordinal 返回datetime.

  • datetime.combine(date, time): 根据date和time返回一个新的datetime.

  • datetime.strptime(date_string, format): 根据date_string和format返回一个datetime.

  • from datetime import datetime
    
    # 2015-04-21 14:07:39.262000
    print datetime.today()
    
    # 2015-04-21 14:08:20.362000
    print datetime.now()
    
    # 1429596607.06
    # 2015-04-21 14:10:07.061000
    t = time.time() 
    print t
    print datetime.fromtimestamp(t)
    
    from datetime import datetime, date, time
    
    a = date(2015, 4, 21)
    b = time(14, 13, 34)
    
    # 2015-04-21 14:13:34
    print datetime.combine(a, b)

    实例方法

    • datetime.date(): 返回相同年月日的date对象.

    • datetime.time(): 返回相同时分秒微秒的time对象.

    • datetime.replace(kw): kw in [year, month, day, hour, minute, second, microsecond, tzinfo], 与date类似.

    其他方法可查看官方文档…

    from datetime import datetime, date, time
    
    td = date(2015, 4, 21)
    n = time(14, 28, 30)
    
    # 2099-04-21 14:30:42.103000
    print datetime.now(0.replace(year=2099)

    类属性

    • datetime.min: datetime(MINYEAR, 1, 1).

    • datetime.max: datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999).

    实例属性(read-only)

    • datetime.year: 1 至 9999

    • datetime.month: 1 至 12

    • datetime.day: 1 至 n

    • datetime.hour: In range(24). 0 至 23

    • datetime.minute: In range(60).

    • datetime.second: In range(60).

    • datetime.microsecond: In range(1000000).

    time类

    time 代表本地(一天内)时间.

    class datetime.time([hour
              [, minute
              [, second 
              [, microsecond
              [, tzinfo]]]]])
      # All arguments are optional.
      # 所有参数都是可选的.
      0 <= hour < 24
      0 <= minute < 60
      0 <= second < 60
      0 <= microsesond < 10**6

    time类就是对时间的一些操作,其功能类似与datetime.其实date和time就是对datetime中日期和时间的操作.

    更多Python中的time模块与datetime模块相关文章请关注PHP中文网!

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。