一日一技:推特时间的格式化方案

简介: 一日一技:推特时间的格式化方案

摄影:产品经理产品经理煮的热红酒

在使用推特开放API获取推文的时候,会发现推文的发布时间是下面这样的:

{
    ...
    "created_at": "Tue Dec 24 10:51:15 +0000 2019",
    ...
}

现在我想把它转换为2019-12-24 18:51:15的形式,应该如何操作呢?

可能有同学会按照下面这个逻辑来处理:

  1. 首先,使用空格把这个时间字符串切分开变成['Tue', 'Dec', '24', '10:51:15', '+0000', '2019']
  2. 第0项是星期,不需要,直接丢弃
  3. 第1项是月份,通过一个英文月份简称到月份数字的字典,把Dec映射为12
  4. 第2项是日期,不做修改
  5. 第3项是时分秒,不做修改
  6. 第4项是时区,说明这个时间是采用的0时区,比北京时间晚8小时
  7. 第5项是年份,不做修改
  8. 把修改过的第1项、第2项、第3项、第5项调整顺序,拼接成一个符合要求的时间:2019-12-24 10:51:15。把使用datetime.datetime.strptime转成datetime.datetime对象。
  9. 把这个datetime.datetime对象加上datetime.timedelta(hours=8)
  10. 使用strftime方法再把datetime.datetime对象转回字符串

整个过程看起来非常麻烦。

实际上,我们有更简单的办法来处理。Tue Dec 24 10:51:15 +0000 2019对应的时间格式为%a %b %d %H:%M:%S %z %Y;对于一个datetime.datetime对象,我们可以调用它的astimezone方法把时区移除,移除以后就会变成当地时间。

完整代码如下:

>>> dt = 'Wed Dec 25 09:09:25 +0000 2019'
>>> dt_obj = datetime.datetime.strptime(dt, '%a %b %d %H:%M:%S %z %Y')
>>> dt_obj.astimezone(tz=None).strftime('%Y-%m-%d %H:%M:%S')
'2019-12-25 17:09:25'

运行效果如下图所示:

目录
相关文章
|
6天前
|
Java
十二时辰与现代时间的互转(精确版)
十二时辰与现代时间的互转(精确版)
16 0
|
11月前
|
安全 Java Linux
正确认识及掌握时间的用法
时间是一个相对地区而言的概念,因此有一个基准地区,就是本初子午线穿过的地区。了解世界时间相关的概念可以更好地协调全球人们的活动,便于跨越不同地区的时差。比如按照UTC时区划分算,洛杉矶和北京 之间的时间差异是16个小时, 但是一旦洛杉矶启用了夏令时两者之间的时间差异只有15个小时,神奇吗?
182 0
正确认识及掌握时间的用法
|
JavaScript 前端开发
js时间转化为几天前,几小时前,几分钟前
js时间转化为几天前,几小时前,几分钟前
176 0
|
关系型数据库 MySQL Java
还在为时区问题发愁?获取的时间与中国时间差八小时怎么办?史上最全的解决方案总结
还在为时区问题发愁?获取的时间与中国时间差八小时怎么办?史上最全的解决方案总结
|
前端开发
前端工作总结272-时间戳处理
前端工作总结272-时间戳处理
75 0
|
前端开发
前端工作总结262-时间戳转换问题
前端工作总结262-时间戳转换问题
68 0
|
前端开发
前端工作总结283-时间戳转换为秒
前端工作总结283-时间戳转换为秒
65 0
|
并行计算 Ubuntu PyTorch
一小时肝一份文档,宠你我们是认真的
时间回到 2 月 25 日下午 6 点,我们的 Z 同学在模型部署后,推理图像的时候,输入图像预处理时间远远超出预期,竟然达到了 2 秒!Z 同学又是改函数又是 debug,还是一头雾水。可 Z 同学锲而不舍,继续钻研,最后推理成功了,但是奈何遇到了推理性能低、速度慢的问题。几经辗转,还是不得解决……
231 0
一小时肝一份文档,宠你我们是认真的
|
存储 监控 安全
万字长文 | 微软“刷新”的背后,Satya未讲的另一半故事
2018年的最后一天,微软以7798亿美元市值,超过苹果的7491亿美元以及亚马逊的7344亿美元市值,而跃居全球最高市值公司,并以这个记录结束了整个2018年。就在2013年前任微软CEO Steve Ballmer宣布要退休的时候,业界认为微软已经在移动互联网和智能手机时代落后,对于微软的前景并不乐观。然而,就在2014年2月Satya Nadella上任新CEO后,微软出现了巨大变化,在云计算时代迎头赶上,并在短短4年里创造了新的辉煌。
276 0
万字长文 | 微软“刷新”的背后,Satya未讲的另一半故事
|
Web App开发 监控
【自然框架】之 “工作日志”和“选择日期”
      上周回家办点事,更新的事情就有耽搁了。对不住大家,所以这周要努力了。       我发现要做的事情太多了,做过了哪些事情也都记不清了,所以有必要弄个“工作计划”和“工作日志”出来。为什么要弄个“工作日志”呢?有这么几个好处。
886 0

热门文章

最新文章