目前,我有以下以秒为单位的当前时间戳值示例。
1299196800
。意思是
4 March 2011 0:0:0 in Greenwich (GMT)
4 March 2011 8:0:0 in Malaysia (GMT +8)
目前,如果我的Python脚本传入一个flot graphing javascript库,它将始终显示Greenwich的时间4 March 2011 0:0:0
,而不是马来西亚的时间4 March 2011 8:0:0
,尽管客户机使用的是马来西亚时区。
我的python服务器始终与客户机具有相同的时区。我们希望4 March 2011 8:0:0
显示在客户端。
因此,为了解决flot图形库的限制问题,我希望传递1299196800
,而不是传递1299196800
# 8 is timezone offset.
# 1299196800 is current timestamp.
pseudo_timestamp = 1299196800 + 8 * 60 * 60
我可以知道如何用python生成上面的“伪时间戳”?用固定时区操作是个好主意吗?在日光节约方面会遇到什么问题吗?
您可以将datatime对象与具有时区意识的tzinfo一起使用。 下面是一小段你是如何做到这一点的。在
flot中的UTC时间是按设计的:查找时间戳here,建议的解决方案是固定时间偏移量。在
考虑到flot时间戳是以毫秒表示的,因此您必须将示例偏移量乘以1000。在
但是,使用一个固定的时间戳不是一个好主意:一般情况下,您会尝试发现客户机偏移量,但是由于您确定它与服务器的偏移量相同,所以可以使用服务器数据来执行此操作。在
使用}以小时为单位获得偏移量。在
time.daytime
来发现日光节约是否有效,然后相应地使用time.timezome
或{Python doc on time是here
鉴于此,您可以调整时间戳,转换偏移量(毫秒),并将其添加到时间戳中(您已经做了:)
相关问题 更多 >
编程相关推荐