2009年10月2日金曜日

時刻を取得する(timeモジュール)

timeモジュールを使います
C言語のtime.hヘッダのようなもの

# -*- coding: utf-8 -*-

import time

format = "%Y/%m/%d %H:%M:%S"

# 時刻を浮動小数点数で取得する
f = time.time()
f = time.mktime(time.localtime())

# 時刻をstruct_time型で取得する
tm = time.gmtime()
tm = time.gmtime(time.time())
tm = time.localtime()
tm = time.localtime(time.time())
tm = time.strptime(time.ctime())
tm = time.strptime(time.strftime(format), format)

# 'Sun Jun 20 23:21:05 1993'のようにフォーマットされた時刻を文字列で取得する
s = time.ctime()
s = time.ctime(time.time())
s = time.asctime()
s = time.asctime(time.localtime())

# フォーマットを指定して時刻を文字列で取得する
sf = time.strftime(format)
sf = time.strftime(format, time.localtime())

print "time,mktime:", f
print "gmtime,localtime,strptime:", tm
print "ctime,asctime: '%s'" % s
print "strftime: '%s'" % sf

# 経過時間を取得する
print "clock:", time.clock()

# timeitモジュールでも実行時間の計測がでる
import timeit
t = timeit.Timer("""L = []
for i in range(100):
    L.append(i)
""")
# t.timeitの引数は実行する回数
# ようするに、リストに100*10000回要素を追加した時間
print "timeit:", t.timeit(10000)

実行すると
time,mktime: 1255442320.0
gmtime,localtime,strptime: time.struct_time(tm_year=2009, tm_mon=10, tm_mday=13, tm_hour=22, tm_min=58, tm_sec=40, tm_wday=1, tm_yday=286, tm_isdst=-1)
ctime,asctime: 'Tue Oct 13 22:58:40 2009'
strftime: '2009/10/13 22:58:40'
clock: 0.04
timeit: 0.684172153473

詳細はドキュメントで

0 件のコメント:

コメントを投稿