pytz 将date确定时区后转换成任意时区
目录
0. goal
1. pytz
2. func
3. 实例
0. goal
将字符串类型的日期时间, 如 "2021-03-16 16:05:05" 确认为某一时区时间后,转换成北京时间。(根据个人需求去掉了时间只保留日期)
1. pytz
可以显示所有国家地区的各个时区,通过这个确定需要的时区
pytz.all_timezones
Out[5]:
['Africa/Abidjan','Africa/Accra','Africa/Addis_Ababa','Africa/Algiers','Africa/Asmara','Africa/Asmera','Africa/Bamako','Africa/Bangui','Africa/Banjul',
...]
2. func
有两种方法: astimezone, localize
区别:
localize 官方解释为 This is used to localize a naive datetime (datetime with no timezone information)
astimezone 官方解释为 converting an existing localized time using the standard astimezone()
method
from datetime import datetime
from pytz import timezone
import pytztokyo = timezone('Asia/Tokyo')
shanghai = timezone('Asia/Shanghai')
fmt = '%Y-%m-%d %H:%M:%S %Z%z'# 使用 tokyo的时区去确定日期时间的时区
loc_dt = tokyo.localize(datetime(2021, 3, 16, 16, 53, 0))
print(loc_dt.strftime(fmt))# 在 tokyo时区的基础上 转换为上海时区
sh_dt = loc_dt.astimezone(shanghai)
print(sh_dt.strftime(fmt))>>> [OUT]
2021-03-16 16:53:00 JST+0900
2021-03-16 15:53:00 CST+0800
3. 实例
import datetime
import time
from pytz import timezonedef transfer_timezone(date):# Set timezone tokyo = timezone('Asia/Tokyo')shanghai = timezone('Asia/Shanghai')# Create datetime objectd = datetime.datetime.strptime(date, "%Y-%m-%d %H:%M:%S")print(d.strftime("%Y-%m-%d %H:%M:%S"), d.tzinfo)# Set the time zone to 'Asia/Tokyo'd = tokyo.localize(d)print(d.strftime("%Y-%m-%d %H:%M:%S"), d.tzinfo)# Set the time zone to 'Asia/Shanghai'd = d.astimezone(shanghai)print(d.strftime("%Y-%m-%d %H:%M:%S"), d.tzinfo)# only needs dateprint(d.strftime("%Y-%m-%d"))return d.strftime("%Y-%m-%d")
[IN]
transfer_timezone("2021-03-16 16:05:05")[OUT]
2021-03-16 16:05:05 None # 默认无时区
2021-03-16 16:05:05 Asia/Tokyo # 确认为东京时间
2021-03-16 15:05:05 Asia/Shanghai # 转到北京时间
2021-03-16 # 我自己只要前面的日期
pytz 将date确定时区后转换成任意时区相关推荐
- c语言输出字符的十六进制,用c语言输入键盘上的字符后转换成十六进制输出
用c语言输入键盘上的字符后转换成十六进制输出 悬赏分:10 | 提问时间:2010-9-13 10:26 | 提问者:745922085 | 问题为何被关闭 其他回答 共3条 #include #in ...
- 将任意的十进制整数转换成任意R进制数(R在2-16之间)
在c语言中,编程实现将任意的十进制整数转换成任意R进制数(R在2-16之间),源码如下所示: #include <stdio.h> int main(){ void change( ...
- 使用递归将十进制转换成任意进制(Number Conversion)
关于递归 什么是递归? 说白了,就是函数自己调用自己,然后被调用的函数继续调用自己,这将无限循环下去,除非代码中有终止调用链的的内容. 解释一下递归的所经历的过程 递归需要有边界条件.递归前进段和递归 ...
- null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外) 转载于:https://www.cnblogs.com/zhenmi ...
- Linux虚拟机最小化安装后转换成图形界面(图文详解)
最小化安装转换成图形界面详细步骤(亲测有效) 一.设置网卡,让网络能通 二.重启网卡 三.更新版本信息 四.安装图形化界面 五.进入虚拟机,选择许可证(选择完成后,如果出现长时间等待卡死的情况,可以重 ...
- java date 日期格式_如何将JAVA DATE类型的日期 转换成指定格式类型的 (如:YYYY-MM-DD) 的 DATE类型数据?...
展开全部 Date类型并没有格式32313133353236313431303231363533e58685e5aeb931333433653262,只有转换成String格式的时候让格式化显示. n ...
- 使用Python把一堆图片排序后转换成PDF,最终得到一人之下漫画pdf
目的 把一些图片转换成PDF 使用模块 os re PIL # -*- coding: utf-8 -*- # Time: 2021/4/5 14:59import os import re from ...
- python 如何将字符串列表合并后转换成字符串? ''.join(List(str))函数
参考文章:python 怎么将列表转换成字符串 temp_list = ['h', 'e', 'l', 'l', 'o'] result = ''.join(temp_list) print(resu ...
- jsp网页实现任意进制的数转换成任意进制数
效果图: 源代码: <%@ page language="java" contentType="text/html; charset=utf-8" pag ...
最新文章
- CF467C George and Job
- Check failed: error == cudaSuccess (74 vs. 0) misaligned address
- 使用Webrtc和React Js在网络上共享跨平台的点对点文件
- (二)python3 只需3小时带你轻松入门——基本变量
- 搞搞Linux命令--grep
- 消息中间件—RocketMQ的RPC通信(一)
- python按键精灵找图教程_按键精灵实现找图基础命令的方法教程--系统之家
- VS调试按钮和运行按钮无法使用
- 用计算机视觉可以做什么项目,程序员必看:13个GitHub开源又炫酷的计算机视觉项目...
- AspxGridView 排序分组刷新DetailRow的问题
- vue引入萤石云监控进行播放
- hadoop学习笔记之-NFS配置
- CSU 1725 加尔鲁什·地狱咆哮对阵虚灵大盗拉法姆
- 增加网站的档次!网页设计师可在网站中加入暗色调
- 查看自己电脑的处理器和操作系统的位数
- R语言主成分PCA、因子分析、聚类对地区经济研究分析重庆市经济指标
- Axure动态面板使用,简单的交互
- centos6系统语言英文改为中文
- Flink实时数仓数据采集流程和技术架构
- vue启动报错!Module build failed: Error: Missing binding D:\WorkSpace\vue\OfficeSuite\OfficeFrontend\node