Python3 根据时区获取时间,并计算时间差
学习和工作经常会遇到数据库和服务器不在一个地方的情况,那么当遇到时间比较时,就会很头疼,不清楚到底相差几个小时,这篇文章就解决这个问题。
先把所有的代码贴出来:
#!/usr/bin/python3
# -*- coding: utf-8 -*-import pytz
import datetime
import time# 可以直接获取北京时间,简写
beijing_time = datetime.datetime.now(pytz.timezone('PRC'))
# 2019-05-28 16:43:37.265310+08:00# 以洛杉矶为例,获取洛杉矶当地时间
los_angeles = datetime.datetime.now(pytz.timezone('America/Los_Angeles'))
# 2019-05-28 01:43:37.266825-07:00# 获取时间差:洛杉矶时间--北京时间
# 格式化时间
los_angeles_timestamp = los_angeles.strftime('%Y-%m-%d %H:%M:%S') # 2019-05-28 01:48:04
beijing_time_timestamp = beijing_time.strftime('%Y-%m-%d %H:%M:%S') # 2019-05-28 16:48:04# 转为时间戳
now = time.strptime(beijing_time_timestamp,'%Y-%m-%d %H:%M:%S')
# time.struct_time(tm_year=2019, tm_mon=5, tm_mday=28, tm_hour=16, tm_min=50, tm_sec=45, tm_wday=1, tm_yday=148, tm_isdst=-1)old = time.strptime(los_angeles_timestamp,'%Y-%m-%d %H:%M:%S')
# time.struct_time(tm_year=2019, tm_mon=5, tm_mday=28, tm_hour=1, tm_min=50, tm_sec=45, tm_wday=1, tm_yday=148, tm_isdst=-1)# 时间戳相减
delta_seconds = time.mktime(now) - time.mktime(old) # 54000.0print(delta_seconds / 3600) # 15.0 个小时
有需要的同学看到代码就差不多懂了,北京和洛杉矶相差了15个小时,当然这个数据也可以百度等方式知道,但是在做项目的时候,我们会根据当前时间和数据库时间做比较,然后执行一些相关操作;假如服务器在北京,数据库在美国洛杉矶,那么你用下面的方式做比较就相差的太大了:
datetime.datetime.now() - db_time
所以要把服务器的时间转为洛杉矶时间才可以作比较:
# 获取洛杉矶当地时间
los_angeles = datetime.datetime.now(pytz.timezone('America/Los_Angeles'))
# 2019-05-28 01:43:37.266825-07:00
这个才是重点!
如果想指定加几个小时,也就是类似上面的,把洛杉矶时间变为北京时间,可以这样:
datetime.datetime.now(PST) + datetime.timedelta(hours=15)
下面提供一个函数,获取国家的时区:
# 获取中国所有时区
all_cn_city = pytz.country_timezones('cn')
# 获取美国所有时区
all_us_city = pytz.country_timezones('us')
欢迎指导!
Python3 根据时区获取时间,并计算时间差相关推荐
- linux c计算时间差值,获取时间和计算时间差的几种方法总结,时间差几种方法...
获取时间和计算时间差的几种方法总结,时间差几种方法 一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( ...
- c语言windows获取时间,【转载】c/c++在windows下获取时间和计算时间差的几种方法总结...
一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t time ...
- c/c++在windows下获取时间和计算时间差的几种方法总结
一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t time ...
- python计算时间差代码_Python3显示当前时间、计算时间差及时间加减法示例代码...
Python3显示当前时间.计算时间差及时间加减法示例代码 摘要 在使用Python写程序时,经常需要输出系统的当前时间以及计算两个时间之间的差值,或者将当前时间加减一定时间(天数.小时.分钟.秒)来 ...
- 比较时间并计算时间差
/*** 博客园@utf_8* https://www.cnblogs.com/pan-4957/p/10693874.html*/ function(start, end) {/** 比较时间并计算 ...
- 【java】根据当前时区获取时间
地区国家 编号 缩写 时区 中国 86 CN Asia/Shanghai 香港 852 HK Asia/Hong_Kong 澳门 853 MO Asia/Macau 台湾 886 TW Asia/Ta ...
- 【javaScript获取时间,计算任意两个日期之间相隔的天数】计算任意两个日期之间相隔的天数
主要算法: 利用毫秒差,由于1000毫秒等于1秒,60秒等于1分钟,60分钟一小时,一天24小时.所以可以用:毫秒差 除 以(60×60×1000×24)等于天数. 代码如下: <script ...
- 各类 动态获取时间,计算距离,贝塞尔曲线等 的方法
1,获取年月日 时分秒 setInterval(function(){ setTime(); },1000); private setTime() { var myDate: Date = new D ...
- 利用时间字符串计算时间差
一个订单表,已知时间字符串,需要计算出两笔订单之间的时间差,并找出两笔订单中时间差最大的一个 import datetimetime1 = "20201222171220360" ...
- matlab计算时间差多少秒,Matlab 设计时间计算器 计算时间差
h0=figure('toolbar','none',... 'position',[200 150 300 250],... 'name','时间计算器'); huidiao=[... 'k=0;, ...
最新文章
- makefile:4:***缺少分隔符。 停止
- cordova 创建Android 工程(零起点)
- java secondtotime_Java中的LocalTime toSecondOfDay()方法
- [转]Oracle SQL 日期的應用
- 自考那些事儿(九):再次学操作系统
- 通用计算机遵循什么原则,计算机组成原理——计算机系统概述考研题
- linux挂载lvm
- struts2学习笔记(一):配置struts2开发环境
- 龙之谷冰龙linux手工服务端,【网游】【龙之谷】v300冰龙巢穴一键服务端+客户端+GM工具+视频教程...
- 计量经济学(七)----自相关性Autocorrelation.
- 计算机网络实验-网络嗅探器
- 抗DDOS产品性价比?
- 【Procmon教程2】如何揪出篡改注册表的元凶?
- curl http header_利用Linux命令cURL实现文件定时上传到ftp服务器的小程序,实用
- 五、卷积与傅立叶变换
- 3dsmax怎么添加uv坐标_3dmax缺少贴图坐标怎么添加uvmap修改器
- 如何通过光耦合器连接继电器
- 记录打卡假期的学习计划
- Hive lag函数使用注意
- h3c怎么设置虚拟服务器,h3c设置虚拟服务器
热门文章
- 使用SP Racing F3飞控ROSflight软件包的无人机自主飞行系统
- 2022年软件工程师报告出炉,年薪最高的是...
- TCP的快速重传机制
- SAS逻辑回归之多分类
- 【技能】Chrome扩展程序的使用
- 云有约 | 首攻RSA,天空卫士“秀肌肉”怎么样了?
- Photoshop设计精讲精练笔记 (三)
- 百度mip推送工具_链接提交主动推送(实时)、熊掌号天级/周级提交、MIP提交
- 异步和同步数据备份的差别_备份和同步数据的最佳文章
- 【考研数学】琴生不等式