python datetime timezone_Python中timezone的部分常用操作

对timzone的操作总是感觉特别的繁杂,经过牛人指点,提炼出来几个比较常用的timezone操作。

import pytz

from datetime import datetime

time_str = "2018-04-20 10:10:05"

time_obj = datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S") # at this point, time_obj is timezone-naive

time_obj_la = pytz.timezone("America/Los_Angeles").localize(time_obj) # now time_obj_la is timezone-aware, python automatically add daylight saving time if needed

print(time_obj_la) # 2018-04-20 10:10:05-07:00

time_obj_utc = time_obj_la.astimezone(pytz.timezone("UTC"))

print(time_obj_utc) # 2018-04-20 17:10:05+00:00

# convert datetime object to string, no need to remove timezone info

time_str_utc = time_obj_utc.strftime("%Y-%m-%d %H:%M:%S") # 2018-04-20 17:10:05

time_str_la = time_obj_la.strftime("%Y-%m-%d %H:%M:%S") # 2018-04-20 10:10:05

# remove timezone info (make datetime object timezone-naive)

time_utc = time_obj_utc.replace(tzinfo=None) # datetime.datetime(2018, 4, 20, 17, 10, 5)

python中timezone的代码并不是跟国际时区一一对应,转换的时候需要了解pytz library中的时区代码

for tz in pytz.all_timezones:

print(tz)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值