Python datetime

ポータル Python

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

python_datetime.txt · 最終更新: 2012/05/08 15:36 by Takuya Nishimoto
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0