如下所示:
Wed, 23 Oct 2019 21:12:01 +0800
Wed, 23 Oct 2019 06:08:37 +0000 (GMT)
Fri, 11 Oct 2019 12:42:07 +0800 (CST)
Wed, 23 Oct 2019 06:08:37 +0000 (UTC)
几种不同的日期格式化方式,不同的时区时间转换成北京时间,也就是东八区的时间,注意的是后面的时区表示方式,
def getTimeStamp(self, date): result = re.search(r"[\-\+]\d+", date) if result: time_area = result.group() symbol = time_area[0] offset = int(time_area[1]) + int(time_area[2]) if symbol == "+": format_str = '%a, %d %b %Y %H:%M:%S '+ time_area if "UTC" in date: format_str = '%a, %d %b %Y %H:%M:%S '+ time_area+ ' (UTC)' if "GMT" in date: format_str = '%a, %d %b %Y %H:%M:%S ' + time_area + ' (GMT)' if "CST" in date: format_str = '%a, %d %b %Y %H:%M:%S ' + time_area + ' (CST)' utcdatetime = time.strptime(date, format_str) tempsTime = time.mktime(utcdatetime) tempsTime = datetime.datetime.fromtimestamp(tempsTime) if offset > 8: offset = offset -8 tempsTime = tempsTime + datetime.timedelta(hours=offset) localtimestamp = tempsTime.strftime("%Y-%m-%d") else: format_str = '%a, %d %b %Y %H:%M:%S ' + time_area utcdatetime = time.strptime(date, format_str) tempsTime = time.mktime(utcdatetime) tempsTime = datetime.datetime.fromtimestamp(tempsTime) tempsTime = tempsTime + datetime.timedelta(hours=(offset + 8)) localtimestamp = tempsTime.strftime("%Y-%m-%d") return localtimestamp
补充知识:Python处理带timezone的datetime类型
在存储时间类型到数据库的时候,通常使用DateTime类型。使用DateTime类型就会遇到时区timezone的问题。为了能够处理timezone, 推荐存数据库的使用存入的是基于UTC的时间日期,在本地取用的时候在转成本地时间。
Python定义了抽象类tzinfo, 这个class不能直接使用。3.x版本(至少3.4, 3.5)定义了timezone class。但是这个timezone还是不如第三方pytz类好用。
还有一个问题就是如何得到本机的timezone。在time class里面可以得到一个time.timezone, 是一个基于秒的offset值。注意这个time不是datetime.time, 就是time,用于os相关的时间信息。不是很好用,推荐tzlocal库。
安装pytz和tzlocal
使用pip安装就可以了。
pip install pytz
pip install tzlocal
如何使用
得到当前时间,用于数据的存储
from datetime import datetime
t = datetime.utcnow()
已知本地时间,需要转成UTC时间用于存储
import pytz from tzlocal import get_localzone tz = get_localzone() #获得本地timezone utc = pytz.utc #获得UTC timezone dt = datetime(2016, 6, 12, 5, 0, 0) loc_dt = tz.localize(dt) #将DateTime数据贴上timezone utc_dt = loc_dt.astimezone(utc) #转换到新的timezone
已知UTC时间,转本地
import pytz from tzlocal import get_localzone utc = pytz.utc tz = get_localzone() t = datetime(x,x,x,x,x,x) utc_dt = utc.localize(t) loc_dt = utc_dt.astimezone(tz)
以上这篇python 带时区的日期格式化操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
python,带时区,日期格式化
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 《暗喻幻想》顺风耳作用介绍
- 崔健1985-梦中的倾诉[再版][WAV+CUE]
- 黄子馨《追星Xin的恋人们2》HQ头版限量编号[WAV+CUE]
- 孟庭苇《情人的眼泪》开盘母带[低速原抓WAV+CUE]
- 孙露《谁为我停留HQCD》[低速原抓WAV+CUE][1.1G]
- 孙悦《时光音乐会》纯银CD[低速原抓WAV+CUE][1.1G]
- 任然《渐晚》[FLAC/分轨][72.32MB]
- 英雄联盟新英雄安蓓萨上线了吗 新英雄安蓓萨技能介绍
- 魔兽世界奥杜尔竞速赛什么时候开启 奥杜尔竞速赛开启时间介绍
- 无畏契约CGRS准星代码多少 CGRS准星代码分享一览
- 张靓颖.2012-倾听【少城时代】【WAV+CUE】
- 游鸿明.1999-五月的雪【大宇国际】【WAV+CUE】
- 曹方.2005-遇见我【钛友文化】【WAV+CUE】
- Unity6引擎上线:稳定性提升、CPU性能最高提升4倍
- 人皇Sky今日举行婚礼!电竞传奇步入新篇章