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

yipeiwu_com7年前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实现telnet客户端的方法

本文实例讲述了python实现telnet客户端的方法。分享给大家供大家参考。具体如下: python实现的telnet客户端程序,python自带一个telnetlib模块,可以通过其...

解决python selenium3启动不了firefox的问题

解决python selenium3启动不了firefox的问题

selenium3.0之后的版本的就不支持直接打开火狐浏览器,启动火狐浏览器报错,如下图,要想运行就需要我们单独装上驱动。 3.0之前的版本,是可以直接打开火狐浏览器的。 解决办法:...

Python批量创建迅雷任务及创建多个文件

其实不是真的创建了批量任务,而是用python创建一个文本文件,每行一个要下载的链接,然后打开迅雷,复制文本文件的内容,迅雷监测到剪切板变化,弹出下载全部链接的对话框~~ 实际情况是这样...

python3基于TCP实现CS架构文件传输

本文实例为大家分享了python3实现CS架构文件传输的具体代码,供大家参考,具体内容如下 1、目标: 基于tcp实现CS架构的文件传输 指令列表:(1)get:从服务器端下载文件 &n...

PyQt5使用QTimer实现电子时钟

PyQt5使用QTimer实现电子时钟

本文用 PyQt5 的QTimer类的两种方式实现电子时钟,供大家参考,具体内容如下 【效果图】 【知识点】 QTimer类提供了定时器信号/槽和单触发定时器。 它在内部使用定时器事件...