将datetime对象更改为字符串

时间:2016-11-24 04:51:32

标签: python datetime timestamp strftime

我想将datetime.datetime(2016, 11, 21, 5, 34, 38, 826339, tzinfo=<UTC>)转换为Nov. 21, 2016, 11:04 a.m.

日期时间对象的时间在UST,但我希望它转换为IST(UST + 05:30)。

我尝试使用 strftime 作为:

 >>> datetime(2016, 11, 21, 5, 34, 38, 826339, tzinfo=<UTC>).isoformat(' ')
  File "<stdin>", line 1
    datetime(2016, 11, 21, 5, 34, 38, 826339, tzinfo=<UTC>).isoformat(' ')
                                                     ^
SyntaxError: invalid syntax

我可以在这里得到一些帮助。

PS:我正在使用python

编辑:

cr_date = datetime(2016, 11, 21, 5, 34, 38, 826339) #excluding the timezone

我可以通过以下方式获得部分期望的结果:

cr_date.strftime('%b. %d, %Y %H:%M')
'Oct. 31, 2013 18:23

虽然没有得到上午/下午

3 个答案:

答案 0 :(得分:0)

对于am / pm部分,你不能在最后一个字段中使用%p吗?我不知道python,我只是假设python正在从unix date命令中获取语法。

答案 1 :(得分:0)

为“上午”或“下午”添加%p否则为{am> am或pm&#39;

添加%P

答案 2 :(得分:0)

请查看以下代码

from datetime import datetime
cr_date = datetime(2016, 11, 21, 5, 34, 38, 826339)
cr_date.strftime('%b. %d, %Y %H:%M %P')
'Nov. 21, 2016 05:34 am'