RFC 3339時間を構築するためのルーチンはどこにありますか?
質問する
3494 次
3 に答える
1
これは、RFCの10ページの例に基づいています。唯一の違いは、Googleドライブのタイムスタンプに準拠した6桁のマイクロ秒値を表示していることです。
from math import floor
def build_rfc3339_phrase(datetime_obj):
datetime_phrase = datetime_obj.strftime('%Y-%m-%dT%H:%M:%S')
us = datetime_obj.strftime('%f')
seconds = datetime_obj.utcoffset().total_seconds()
if seconds is None:
datetime_phrase += 'Z'
else:
# Append: decimal, 6-digit uS, -/+, hours, minutes
datetime_phrase += ('.%.6s%s%02d:%02d' % (
us,
('-' if seconds < 0 else '+'),
abs(int(floor(seconds / 3600))),
abs(seconds % 3600)
))
return datetime_phrase
于 2013-02-23T21:52:25.697 に答える
0
python-rfc3339は私にとって素晴らしい働きをしました。
于 2013-07-17T12:49:03.330 に答える
0
rfc3339は非常に柔軟性があります-http://www.ietf.org/rfc/rfc3339.txt-それはフォーマットの山全体を効果的に定義します。標準のPython時間フォーマットを使用するだけで、それらのほとんどすべてを生成できます-http://docs.python.org/3.3/library/datetime.html#strftime-strptime-behavior
ただし、奇妙な点が1つあります。それ:
は、数値のタイムゾーンオフセット()で時間と分の間の時間を許可することです(オプションです%z
)。pythonはそれを表示しないので、それを含める場合はpython-rfc3339などが必要です。
rfc3339を解析する場合、simple-dateはすべての形式を処理します。ただし、Python印刷ルーチンを使用しているため、:
上記のケースを処理できません。
于 2013-07-17T12:55:43.560 に答える