since 2011-10-23
シェルスクリプトで `date -u +%Y%m%d-%H%M%S` の処理と等価なことをするには?
(現在の時刻を UTC 表記で YYYYmmdd-HHMMSS 形式の文字列に変換する)
まず、ロケールの時刻で出力するなら:
>>> import datetime >>> datetime.datetime.now().strftime('%Y%m%d-%H%M%S') '20111023-193443'
UTC の場合は utcnow を使えばいいらしい:
>>> datetime.datetime.utcnow().strftime('%Y%m%d-%H%M%S') '20111023-103945'
ファイルに書くところまでやると:
with open("timestamp", "w") as f f.write(datetime.datetime.utcnow().strftime('%Y%m%d-%H%M%S'))
since 2012-05-08
「2012年5月8日」の文字列を作るのは意外に面倒だったという話。
def format_jp_today(): from datetime import datetime dt = datetime.today() s = dt.strftime(u'%Y年X%m月X%d日'.encode('utf-8')).decode('utf-8') return s.replace('X0','X').replace('X','')
http://stackoverflow.com/questions/904928/python-strftime-date-without-leading-0
>>> time.strptime('Thu, 28 Jun 2001 14:17:15 +0000', "%a, %d %b %Y %H:%M:%S +0000") time.struct_time(tm_year=2001, tm_mon=6, tm_mday=28, tm_hour=14, tm_min=17, tm_sec=15, tm_wday=3, tm_yday=179, tm_isdst=-1)