[ Python入门教程 ] Python中日期时间datetime模块使用实例
Python中datetime模块提供强大易用的日期处理功能,用于记录程序操作或修改时间、时间计算、日志时间显示等功能。datatime模块重新封装了time模块,提供的类包括date、time、datetime、timedelta、tzinfo。本文提供datetime模块最常用的使用实例,解决编码中使用datetime模块的大部分需求。datetime模块更详尽用法可以查看帮助手册。
datetime模块使用实例
1、获取当前系统时间
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2020, 2, 1, 10, 35, 36, 57427)
>>> print(datetime.datetime.now())
2020-02-01 10:35:49.044320
2、获取当前日期、当前年份、当前月份、当天
>>> datetime.date.today()
datetime.date(2020, 2, 1)
>>> print(datetime.date.today())
2020-02-01
>>> str(datetime.date.today())[0:4]
''
>>> str(datetime.date.today())[5:7]
''
>>> str(datetime.date.today())[8:10]
''
4、计算距离当前10天前、10天后的日期
# 计算10天后的日期
>>> compute_day = datetime.date.today() + datetime.timedelta(days=10)
>>> print(compute_day)
2020-02-11 # 计算10天前的日期
>>> compute_day = datetime.date.today() - datetime.timedelta(days=10)
>>> print(compute_day)
2020-01-22
5、计算距离当前时间10小时后、10小时前的时间
>>> cur_time = datetime.datetime.now()
# 当前时间
>>> print(cur_time)
2020-02-01 11:04:23.632746 # 计算10小时后的时间
>>> compute_time = cur_time + datetime.timedelta(hours=10)
>>> print(compute_time)
2020-02-01 21:04:23.632746 # 计算10小时前的时间
>>> compute_time = cur_time - datetime.timedelta(hours=10)
>>> print(compute_time)
2020-02-01 01:04:23.632746
6、计算两个日期间隔多少天
>>> day1 = datetime.datetime(2020,2,1)
>>> day2 = datetime.datetime(2020,1,5)
>>> interval_day = (day1 - day2).days
>>> print(interval_day)
27
7、计算程序运行时间间隔
>>> start_time = datetime.datetime.now()
#过几秒执行如下语句
>>> end_time = datetime.datetime.now()
>>> seconds = end_time - start_time
>>> seconds = (end_time - start_time).seconds
>>> print(seconds)
22
8、根据给定的时间戮,返回一个date对象。
>>> datetime.date.fromtimestamp(1111111111)
datetime.date(2005, 3, 18)
9、datetime转换为str。如果要将datetime对象格式化为字符串显示给用户,就需要通过strftime()转换。
>>> cur_time = datetime.datetime.now()
>>> cur_time.strftime('%Y-%m-%d %H:%M:%S')
'2020-02-01 11:50:24'
10、str转换为datetime。将用户输入的字符串格式的日期和时间通过datetime.strptime()转换为datetime。
>>> day = datetime.datetime.strptime('2020-01-31 18:18:18','%Y-%m-%d %H:%M:%S')
>>> print(day)
2020-01-31 18:18:18
>>> type(day)
<class 'datetime.datetime'>
小结
本文包含了编码过程中datetime模块使用到的简单实例。datetime模块更多使用方法参考:https://docs.python.org/3/library/datetime.html
[ Python入门教程 ] Python中日期时间datetime模块使用实例的更多相关文章
- [ Python入门教程 ] Python中日志记录模块logging使用实例
python中的logging模块用于记录日志.用户可以根据程序实现需要自定义日志输出位置.日志级别以及日志格式. 将日志内容输出到屏幕 一个最简单的logging模块使用样例,直接打印显示日志内容到 ...
- [ Python入门教程 ] Python中JSON模块基本使用方法
JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式,Python标准库中的json模块提供了一种简单的方法来编码和解码JSON格式的数据.用于完成字符串和p ...
- boost.python入门教程 ----python 嵌入c++
Python语言简介 Python是一种脚本语言.以开放的开发接口和独特的语法著称.尽管Python在国内引起注意只有几年的时间,但实际上Python出现于上世纪90年代(据www.python.or ...
- [ Python入门教程 ] Python字典数据类型及基本操作
字典是Python中重要的数据类型,字典是由"键-值"对组成的集合,"键-值"对之间用逗号隔开,包含在一对花括号中.字典中的"值"通过&qu ...
- [ Python入门教程 ] Python的控制语句
Python控制语句由条件语句.循环语句构成.控制语句根据条件表达式控制程序的流转.本章将介绍Python中控制语句的基本语法. 条件判断语句 (1)if条件语句 if语句用于检测某个条件是否成立.如 ...
- [ Python入门教程 ] Python基础语法
Python的语法非常简练,因此用Python编写的程序可读性强.容易理解.本章将介绍Python的基本语法和概念. Python文件类型 1.源代码.Python的源代码的扩展名以py结尾,可直接运 ...
- [ Python入门教程 ] Python文件基本操作
本文将python文件操作实例进行整理,以便后续取用. 文件打开和创建 Python中使用open()函数打开或创建文件.open()的声明如下: open(name[, mode[, bufferi ...
- [ Python入门教程 ] Python文件基本操作_shutil模块
shutil模块是对os模块中文件操作的补充,提供文件和目录的移动.复制.打包.压缩.解压等功能 shutil常用函数 shutil.copyfile(src, dst) 复制文件, 如果ds ...
- [ Python入门教程 ] Python生成随机数模块(random)使用方法
1.使用randint(a,b)生成指定范围内的随机整数.randint(a,b)表示从序列range([a,b])中获取一个随机数,包括b. >>> random.randint( ...
随机推荐
- windows下Qt编译Qtxlsx库和qtxlsx库的使用方法
最近接了个项目,合作的学长让用Qt写,而其中最重要的需求是将数据库的数据写入excel表格中和将excel的数据导入到数据库中,自己查阅了和多资料,最后决定使用qtxlsx开源库来操作excel,在编 ...
- Qt4.5 QFrame(相当于Delphi里的TPanel,有各种凹凸方式)
QFrame类是有框架的窗口部件的基类. QPopupMenu使用这个来把菜单“升高”,高于周围屏幕.QProgressBar有“凹陷”的外观.QLabel有平坦的外观.这些有框架的窗口部件可以被改变 ...
- Java数据库操作学习
JDBC是java和数据库的连接,是一种规范,提供java程序与数据库的连接接口,使用户不用在意具体的数据库.JDBC类型:类型1-JDBC-ODBC桥类型2-本地API驱动类型3-网络协议驱动类型4 ...
- 机器学习之——集成算法,随机森林,Bootsing,Adaboost,Staking,GBDT,XGboost
集成学习 集成算法 随机森林(前身是bagging或者随机抽样)(并行算法) 提升算法(Boosting算法) GBDT(迭代决策树) (串行算法) Adaboost (串行算法) Stacking ...
- 使用SonarQube+Eclipse来分析python代码
背景 最近在项目中推广集成测试的理念以及相关工具,在jenkins中集成sonar去分析项目的java代码的时候,意外的发现,sonarqube上还有对应python的插件,而自己写的测试工具大部分都 ...
- vps远程桌面服务器管理
vps服务器是没有远程桌面系统的,本地电脑要有远程桌面的组件或者专业的远程桌面管理工具,如果出于安全考虑关闭了3389端口(这是系统自带远程桌面的端口),你可以试试iis7远程桌面管理工具,这个还是很 ...
- 利用自编码(Autoencoder)来提取输入数据的特征
自编码(Autoencoder)介绍 Autoencoder是一种无监督的学习算法,将输入信息进行压缩,提取出数据中最具代表性的信息.其目的是在保证重要特征不丢失的情况下,降低输入信息的维度,减小神经 ...
- 18.Python模块包(pycharm右键创建文件夹和python package的区别)中__init__.py文件的作用
原来在python模块的每一个包中,都有一个__init__.py文件(这个文件定义了包的属性和方法)然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了.当 ...
- # "可插拔式"组件设计,领略组件开发的奥秘
从一个 Confirm 组件开始,一步步写一个可插拔式的组件. 处理一个正常的支付流程(比如支付宝购买基金) 点击购买按钮 如果风险等级不匹配则:弹确认框(Confirm) 用户确认风险后:弹出支付方 ...
- 探究Dubbo的拓展机制: 上
这篇博文是我决心深度学习Dubbo框架时记录的笔记, 主题是Dubbo的拓展点, 下面的几个部分相对来说比较零散, 貌似是不和主题挂钩的 , 并且是一些很冷门的知识点 , 但是它们确实是深入学习Dub ...