Python之字符串转换为日期、结合时区的日期操作

一、字符串转换为日期
方法一
s = '2019-01-20'
print(datetime.strptime(s, '%Y-%m-%d'))  # 2019-01-20 00:00:00
方法二
def parse_ymd(s):year_s, mon_s, day_s = s.split('-')return datetime(int(year_s), int(mon_s), int(day_s))
s = '2019-01-20'
res = parse_ymd(s)
print(res)  # 2019-01-20 00:00:00

二、结合时区的日期操作

对几乎所有涉及到时区的问题,你都应该使用 pytz 模块,这个包提供了Olson时区数据库, 它是时区信息的事实上的标准,在很多语言和操作系统里面都可以找到
 pytz 模块一个主要用途是将 datetime 库创建的简单日期对象本地化,一旦日期被本地化了, 它就可以转换为其他时区的时间了
需求:你有一个安排在2012年12月21日早上9:30的电话会议,地点在芝加哥。 而你的朋友在印度的班加罗尔,那么他应该在当地时间几点参加这个会议呢?
from pytz import timezone
import pytz
d = datetime(2012, 12, 21, 9, 30, 0)
central = timezone('US/Central')   # 时间本土化
loc_d = central.localize(d)  # 转换为芝加哥时间对象# 通用方法一:
#  处理本地化日期的通常的策略先将所有日期转换为UTC时间, 并用它来执行所有的中间存储和操作
utc_d=loc_d.astimezone(pytz.utc)
# 一旦转换为UTC,你就不用去担心跟夏令时相关的问题了(美国标准夏令时时间开始于本地时间3月13日凌晨2:00(在那时,时间向前跳过一小时),本地化日期上执行计算时候会出现错误)
bang_d1=utc_d.astimezone(timezone("Asia/Kolkata"))# 方法二,直接转为班加罗尔时间
bang_d2 = loc_d.astimezone(timezone('Asia/Kolkata'))  # 转换未班加罗尔时间
print(bang_d1,bang_d2)    # 2012-12-21 21:00:00+05:30 2012-12-21 21:00:00+05:30# 补充可以使用ISO 3166国家代码作为关键字去查阅字典 pytz.country_timezones 查找对应的时区名
print(pytz.country_timezones["IN"])   # ['Asia/Kolkata']

 



转载于:https://www.cnblogs.com/zzy-9318/p/10478524.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目学生:带有Jersey的Web服务客户端

这是Project Student的一部分。 其他职位包括带有Jersey的Webservice Client , 业务层和带有Spring Data的持久性 。 RESTful Web应用程序洋葱的第一层是Web服务客户端。 它可以用来模仿包含AJAX内容的网页,也可以被webapp的编程用户用来模仿。 注意&am…

华为摄像机搜索软件_别人的终点华为的起点!用普惠AI守护城市安全

看点:华为好望的求索启示录!如何让老百姓用上实惠的AI?你也许不知道,高空抛物已是城市生活中的一大难以治理的安全隐患。一个小小的烟头、水果从高处扔下来,就可能引起严重火灾、人员伤亡、财物破坏,事发后…

在WebGL场景中进行棋盘操作的实验

这篇文章讨论如何在基于Babylon.js的WebGL场景中,建立棋盘状的地块和多个可选择的棋子对象,在点选棋子时显示棋子的移动范围,并且在点击移动范围内的空白地块时向目标地块移动棋子。在这一过程中要考虑不同棋子的移动力和影响范围不同&#x…

em算法python代码_EM算法的python实现的方法步骤

导读热词前言:前一篇文章大概说了EM算法的整个理解以及一些相关的公式神马的,那些数学公式啥的看完真的是忘完了,那就来用代码记忆记忆吧!接下来将会对python版本的EM算法进行一些分析。EM的python实现和解析引入问题(双硬币问题)…

第一阶段·Linux运维基础-第2章·Linux系统目录结构介绍

01 变量与PS1 02 添加用户 03 关闭SELinux 04 关闭iptables 05 显示中文乱码排查过程 06 总结 07 目录结构课程内容 08 Linux目录结构特点 09 Linux核心目录简介 10 Linux目录文件之配置文件 11 Linux核心目录文件之DNS及屌丝逃离洗浴中心之路 12 Linux核心目录文件…

使用junit-drools进行JBoss Drools单元测试

最近,我一直在大量使用JBoss Drools进行项目。 我不是Drools专家-我也不太相信这个框架,或者可能不是只相信该项目中的特定用例-我发现很难为基于Drools的业务规则编写简单,可维护的单元测试 。 这就是junit-drools诞生的方式-简单的帮助程序…

scrapy 采集网页出现丢失url的问题

url_list ["http://www.icoat.cc/news/list_18_3.html", "http://www.icoat.cc/news/list_18.html", "http://www.icoat.cc/news/list_18_2.html", ] for ls in url_list:   yield scrapy.Request(urlls, headersheader, callbackself.parseL…

java中重新加载指定文件_java-更改后重新加载属性文件

我将属性文件加载到一个类中,然后在整个应用程序中使用该类来获取它们.public class PropertiesUtil extends PropertyPlaceholderConfigurer {private static Map properties new HashMap();Overrideprotected void loadProperties(final Properties props) throws IOExcepti…

plsql 为空显示 0 的函数_不加班只加薪!从0到1教你制作出入库进销存表格

出入库表应用十分广泛,是每个公司都用到的表格,下面我们来看看怎么从一张空白表一步一步实现《出入库表》的制作,目的是做到只需要记录出库入库流水,自动对库存及累计出入库数量进行计算、实时统计。出入库表构成做一个出入库表&a…

eShopOnContainers学习系列(一):Swagger的使用

最近在看eShopOnContainer项目,抽取一下其中的基础知识点,做个记录,有兴趣的可以看下。 新建一个.net core API项目,添加Nuget包 Swashbuckle.AspNetCore.SwaggerGen、Swashbuckle.AspNetCore.SwaggerUI: 然后在启动文…

结合WebSocket编写WebGL综合场景示例

在WebGL场景中导入多个Babylon骨骼模型,在局域网用WebSocket实现多用户交互控制。 首先是场景截图: 上图在场景中导入一个Babylon骨骼模型,使用asdw、空格、鼠标控制加速度移动,在移动时播放骨骼动画。 上图在场景中加入更多的骨…

awk----基本用法

awk具体的请看这个 https://www.cnblogs.com/bwbfight/p/9402738.html awk 竟然自诩一种语言,ok.... 牛 既然这样就学习一下吧 awk -F‘[指定多个分隔符]’ 比如 awk -F[ :]表示指定:空格为分隔符 涉及多个重复分割符可以这样指定 awk -F[ :] 表示多个空…

java按条件查询结果为空_mybatis中查询结果为空时不同返回类型对应返回值问题...

今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:mybatis中resultType有多种返回类型,对于每种不同类型,查询结果为空时…

object picker 微信小程序_微信小程序 demo分享

选择器示例demo:1.普通选择器 2.多列选择器 3.时间选择器 4.日期选择器 5.省市区选择器wxml普通选择器:(普通数组)当前选择:{{array[index]}}普通选择器2:(普通json格式数组)当前选择:{{objectArray[objectIndex].name…

项目学生:分片集成测试数据

这是Project Student的一部分。 其他职位包括带有Jersey的 Web服务 客户端,带有Jersey的 Web服务服务器 , 业务层和带有Spring Data的持久性 。 到目前为止,所有集成测试都使用了内存嵌入式数据库,该数据库无法一次又一次地保留信…

BZOJ1036 树的统计(树链剖分+线段树)

【题目描述】 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问…

Unity插件Gaia使用介绍

零基础创建Unity精美场景地形(使用插件Gaia)一、先上最终效果图二、软件环境搭建1.Unity5.6.0下载链接https://unity3d.com/cn/get-unity/download/archive?_ga2.110664517.1175563345.1516068066-173539005.15020707552.Gaia Unity地形制作插件下载链…

java http 压缩_解压HTTP API的GZIP压缩数据

1.对Java后端的请求HttpURLConnection对象中的消息头设置压缩connection.setRequestProperty("Accept-Encoding", "gzip, deflate");2.发送请求后获取response中的content-encodingconnection.getContentEncoding(); // 获取content-encoding3.如果content…

20151208_使用windows2012配置weblogic节点管理器

经过实践,weblogic节点管理器的作用主要有两点: 1、可通过weblogic控制台远程控制被管server启停。 2、可以自动重启被管server的进程,并且对spring框架提供比直接启动更快的重启速度。 配置步骤: 在管理电脑上: …

python各种包安装顺序_史上最全的Python包管理工具:Anaconda教程

事实上Anaconda 和 Jupyter notebook已成为数据分析的标准环境。简单来说,Anaconda是包管理器和环境管理器,Jupyter notebook 可以将数据分析的代码、图像和文档全部组合到一个web文档中。接下来我详细介绍下Anaconda,并在最后给出Jupyter no…