笔记—Python带有时区时间,格式化处理问题

 

问题1:

往常小编遇到的带时区的时间格式都是这样的

release_time = 'Wed Nov 14 15:38:55 +0800 2018'

这种的时间怎么格式化我们想要的呢?

首先我们要学习点基础的知识关于 datatime库的

%y 两位数的年份表示(00-99)

%Y 四位数的年份表示(000-9999)

%m 月份(01-12)

%d 月内中的一天(0-31)

%H 24小时制小时数(0-23)

%I 12小时制小时数(01-12)

%M 分钟数(00=59)

%S 秒(00-59)

 

%a 本地简化星期名称

%A 本地完整星期名称

%b 本地简化的月份名称

%B 本地完整的月份名称

%c 本地相应的日期表示和时间表示

%j 年内的一天(001-366)

%p 本地A.M.或P.M.的等价符

%U 一年中的星期数(00-53)星期天为星期的开始

%w 星期(0-6),星期天为星期的开始

%W 一年中的星期数(00-53)星期一为星期的开始

%x 本地相应的日期表示

%X 本地相应的时间表示

%Z 当前时区的名称

%% %号本身 、

学完基础知识废话不多说,咱直接上代码:

import datetime
a='Wed Nov 14 15:38:55 +0800 2018'
time_format=datetime.datetime.strptime(a,'%a %b %d %H:%M:%S %z %Y')
time_format=str(time_format)
times=time_format[0:19]
print(times)

问题2:

就在小编高兴地时候,今天抓取页面信息的时候,发网站都是以这种时间的格式在网页里

release_time = '2019-11-07T06:05:40.000+0000'

没遇到过这种的时间格式,怎么格式化呢?

绕过它,不甘心,明明一次请求需要的信息就全拿到了

我干嘛还要请求两次

 

这里么首先我们还要科普一下,知识点

东八区(UTC/GMT+08:00)是比世界协调时间(UTC)/格林尼治时间(GMT)快8小时的时区,理论上的位置是位于东经112.5度至127.5度之间,是东盟标准的其中一个候选时区。当格林尼治标准时间为0:00时,东八区的标准时间为08:00。

release_time = '2019-11-07T06:05:40.000+0000'

+0000 代表的就是 [格林尼治时间]

 

这样我们就可以解决了,代码盘他

import time
import datetime
ss = '2019-11-07T06:05:40.000+0000'
​
data = datetime.datetime.strptime(ss.replace('T', ' ').replace('.000+0000', ''),'%Y-%m-%d %H:%M:%S') + datetime.timedelta(hours=8)
print(data)

当然这不是最优的解决方案,小编遇到更好的解决方案,会及时补充,要是看到文章的小伙伴有好的解决办法,麻烦请给我留言,在这里谢谢了

你可能感兴趣的:(Python基础知识,Python,时间处理,时区处理,时间格式化)