0

次の日時を文字列として持っています:

datestr = "2013-02-20 17:57:25+00:00"

これを Python で 2013 年 2 月 20 日午後 5 時 57 分としてフォーマットするにはどうすればよいでしょうか。?

4

1 に答える 1

4

使用strptimeしてstrftime

http://docs.python.org/2/library/datetime.html#strftime-strptime-behavior

>>> import datetime
>>> strptime = datetime.datetime.strptime
>>> s = "2013-02-20 17:57:25+00:00"
>>> # Using s[:-6] to trim off the timezone
>>> strptime(s[:-6], "%Y-%m-%d %H:%M:%S").strftime("%b %d, %Y %I:%M %p")
'Feb 20, 2013 05:57 PM'

残念ながら、%zディレクティブは機能しないようですstrptime

http://bugs.python.org/issue6641

>>> strptime(s, "%Y-%I-%d %H:%M:%S%z")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\apps\Python27\lib\_strptime.py", line 317, in _strptime
    (bad_directive, format))
ValueError: 'z' is a bad directive in format '%Y-%I-%d %H:%M:%S%z'
于 2013-02-21T04:38:41.900 に答える