1

我想使用 Pytz 根据给定的 UTC 偏移量转换时间戳对象(从模型中获取)。在我打印时间戳对象时将其渲染到模板之前,它使用以下格式:

 2012-05-29 10:03:37

我得到以下行的偏移量:

 offset = datetime.datetime.now(pytz.timezone('Asia/Kolkata')).strftime('%z')

上面的偏移量将给出+0530 。现在我想用这个偏移量对时间戳对象进行更改。例如 :

timestamp: `2012-05-29 10:03:37`
offset:   `+0530`
after change,
timestamp: `2012-05-29 15:33:37`

那这个呢:

timestamp: `2012-05-29 23:03:37`
offset:   `+0530`
after change,
timestamp: `2012-05-30 4:33:37`

看看它也根据偏移量改变的日期。操纵时间后,它甚至可以是 12 小时格式。

任何帮助都将是可观的

4

1 回答 1

1

我希望这是您正在寻找的:

d = datetime.now(pytz.timezone('UTC'))   # get date in UTC format - you'll be getting it from the database
local = d.astimezone('Asia/Kolkata')
print local.strftime("%Y-%m-%d %H:%M:%S %z")
于 2012-05-30T10:47:14.120 回答