在python 不同时区之间的差值与转换方法

yipeiwu_com6年前Python基础

之前有个程序,里面有个时间部分是按照国内时区,也就是东八区,来写的,程序中定义了北京时间2点到八点进行检查;后面程序在国外机器上,例如说韩国,欧美等,执行的时候发现会有时间上的问题,因为获取的是机器的本地时间

因为机器上不好装包,只能通过常用的模块进行改写了

原先的代码如下:

#self.invalidStartTime = datetime.time(2,00)
#self.invalidEndTime = datetime.time(8,59)

为了计算时区的差值并对以上两行代码的时间进行转换,改为以下:

import time,datetime
delta = (time.timezone - (-28800))/3600 #28800为北京时间相对utc 0时区来计算的秒数,即 8*3600
if 2-delta < 0:       #小于0,就是前一天的时间了,注意是24小时算
  self.invalidStartTime = datetime.time(26-(delta),00) 
else:
  self.invalidStartTime = datetime.time(2-delta,00)
if 8-delta < 0:
  self.invalidEndTime = datetime.time(32-(delta),59)
else:
  self.invalidEndTime = datetime.time(8-(delta),59)

这样子就可以把程序其他时区的机器了!

以上这篇在python 不同时区之间的差值与转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python编写一个优美的下载器

Python编写一个优美的下载器

本文实例为大家分享了Python编写下载器的具体代码,供大家参考,具体内容如下 #!/bin/python3 # author: lidawei # create: 2016-...

python检测是文件还是目录的方法

本文实例讲述了python检测是文件还是目录的方法。分享给大家供大家参考。具体实现方法如下: import os if os.path.isdir(path): print "i...

使用pip发布Python程序的方法步骤

使用pip发布Python程序的方法步骤

写过 Python 程序的小伙伴们都知道,需要 import 个非 Python 自带的软件包时,都要用到 pip 这个程序。平时我们都是用 pip,如果我们写好了一个程序,想让大家都能...

在django view中给form传入参数的例子

在django的form表单会出现,在form的验证或者保存时需要非form中的field的信息参数。例如在对操作进行记录,我们需要根据将记录的操作人设置为当前的用户,所以在view中我...

django创建自定义模板处理器的实例详解

django创建自定义模板处理器: 一、需求来源: 在django开发中,页面是通过template(模板)进行渲染的,对于一些数据,可以通过{{ 变量 }}的方式进行传递。但是,如果整...