Python では、時間処理に関連するモジュールには、時刻、日時、カレンダーが含まれます。
関連する推奨事項: 「Python ビデオ 」
Python では、通常、時間を表現する方法がいくつかあります。
1) タイムスタンプ
2) フォーマットされた時刻文字列
3) 合計 9 つの要素を持つタプル (struct_time)。
Python の時間モジュールの実装は主に C ライブラリを呼び出すため、プラットフォームごとに異なる場合があります。 UTC (協定世界時) はグリニッジ天文時、世界標準時です。中国では UTC 8 です。 DST (サマータイム) は夏時間のことです。タイムスタンプ (タイムスタンプ) 方式: 一般に、タイムスタンプは 1970 年 1 月 1 日の 00:00:00 からのオフセットを秒単位で表します。 「type(time.time())」を実行すると、戻り値の型は float になります。タイムスタンプを返す関数には主に time() や Clock() などが含まれます。タプル (struct_time) メソッド: struct_time タプルには合計 9 つの要素があり、struct_time を返す関数には主に gmtime()、localtime()、strptime() があります。この方法でタプルのいくつかの要素を以下にリストします:
Index(index)。 # 5 TM_SEC (秒) 0-61
6 TM_WDAY (平日) 0-6 (0は日曜日を示します)
7 TM_YDAY (年の最初の日) 1 -366
8 TM_ISDST (夏時間かどうか) デフォルト -1
次に、Time モジュールで一般的に使用されるいくつかの機能を紹介します。関数:
1) time.localtime([secs]): タイムスタンプを現在のタイムゾーンの struct_time に変換します。 secs パラメータが指定されていない場合は、現在の時刻が優先されます。
>>> time.localtime() time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=14, tm_min=14, tm_sec=50, tm_wday=3, tm_yday=125, tm_isdst=0) >>> time.localtime(1304575584.1361799) time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=14, tm_min=6, tm_sec=24, tm_wday=3, tm_yday=125, tm_isdst=0)
2) time.gmtime([secs]): localtime() メソッドと同様に、gmtime() メソッドはタイムスタンプを UTC タイム ゾーン (0 タイム ゾーン) の struct_time に変換します。
>>>time.gmtime() time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=6, tm_min=19, tm_sec=48, tm_wday=3, tm_yday=125, tm_isdst=0)
3) time.time(): 現在時刻のタイムスタンプを返します。
>>> time.time() 1304575584.1361799
4) time.mktime(t): struct_time をタイムスタンプに変換します。
>>> time.mktime(time.localtime()) 1304576839.0
5) time.sleep(secs): スレッドは、指定された時間だけ実行を遅延させます。単位は秒です。
6) time. Clock(): これはシステムによって意味が異なることに注意してください。 UNIX システムでは、秒単位で表される浮動小数点数 (タイムスタンプ) である「プロセス時間」を返します。 WINDOWS では、最初の呼び出しでプロセスが実行されている実際の時間を返します。 2 回目以降の呼び出しは、最初の呼び出しから現在までの実行時間です。 (実際には、WIN32 の QueryPerformanceCounter() に基づいており、ミリ秒表現よりも正確です)
import time if __name__ == '__main__': time.sleep(1) print "clock1:%s" % time.clock() time.sleep(1) print "clock2:%s" % time.clock() time.sleep(1) print "clock3:%s" % time.clock()
実行結果:
clock1:3.35238137808e-006 clock2:1.00004944763 clock3:2.00012040636
最初のクロック( ) は、プログラムの実行時間
2 番目と 3 番目の Clock() 出力は、最初の Clock からの時間間隔です
7) time.asctime([t]): 時間のタプルまたは struct_time を表します。この形式: 「Sun Jun 20 23:21:05 1993」。パラメータがない場合は、time.localtime() がパラメータとして渡されます。
>>> time.asctime() 'Thu May 5 14:55:43 2011'
8) time.ctime([secs]): タイムスタンプ (秒単位で計算される浮動小数点数) を time.asctime() の形式に変換します。パラメーターが指定されていないか、None の場合、デフォルトで time.time() がパラメーターとして使用されます。その関数は time.asctime(time.localtime(secs)) と同等です。
>>> time.ctime() 'Thu May 5 14:58:09 2011' >>> time.ctime(time.time()) 'Thu May 5 14:58:39 2011' >>> time.ctime(1304579615) 'Thu May 5 15:13:35 2011'
9) time.strftime(format[, t]): 時刻または struct_time (time.localtime() や time.gmtime() によって返されるものなど) を表すタプルを、フォーマットされた時刻文字列に変換します。 t が指定されていない場合は、time.localtime() が渡されます。タプル内のいずれかの要素が範囲外になると、ValueError がスローされます。
意味
%A ローカル (ロケール) の簡略化された週の名前
%A ローカルの完全な週の名前
%B ローカルの簡略化された月 月次
%bローカル完全な月名
#%Cローカル対応日付と時刻表現日 (24 時間制、00 ~ 23) 1 年 日数 (001 - 366)
%m 月 (01 - 12)
%M 分数 (00 - 366) 59)
%p 本地am或者pm的相应符 一
%S 秒(01 - 61) 二
%U 一年中的星期数。(00 - 53星期天是一个星期的开始。)
第一个星期天之前的所有天数都放在第0周。 三
%w 一个星期中的第几天(0 - 6,0是星期天) 三
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始。
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00 - 99)
%Y 完整的年份
%Z 时区的名字(如果不存在为空字符)
%% ‘%’字符
备注:
“%p”只有与“%I”配合使用才有效果。文档中强调确实是0 - 61,而不是59,闰年秒占两秒(汗一个)。当使用strptime()函数时,只有当在这年中的周数和天数被确定的时候%U和%W才会被计算。
举个例子:
>>> time.strftime("%Y-%m-%d %X", time.localtime()) '2011-05-05 16:37:06'
10)time.strptime(string[, format]):把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。
>>> time.strptime('2011-05-05 16:37:06', '%Y-%m-%d %X') time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=16, tm_min=37, tm_sec=6, tm_wday=3, tm_yday=125, tm_isdst=-1)
在这个函数中,format默认为:"%a %b %d %H:%M:%S %Y"。
最后,我们来对time模块进行一个总结。根据之前描述,在Python中共有三种表达方式:1)timestamp 2)tuple或者struct_time 3)格式化字符串。
它们之间的转化如图所示:
以上がPython での時間の基本的な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。