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模块使用实例的更多相关文章

  1. [ Python入门教程 ] Python中日志记录模块logging使用实例

    python中的logging模块用于记录日志.用户可以根据程序实现需要自定义日志输出位置.日志级别以及日志格式. 将日志内容输出到屏幕 一个最简单的logging模块使用样例,直接打印显示日志内容到 ...

  2. [ Python入门教程 ] Python中JSON模块基本使用方法

    JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式,Python标准库中的json模块提供了一种简单的方法来编码和解码JSON格式的数据.用于完成字符串和p ...

  3. boost.python入门教程 ----python 嵌入c++

    Python语言简介 Python是一种脚本语言.以开放的开发接口和独特的语法著称.尽管Python在国内引起注意只有几年的时间,但实际上Python出现于上世纪90年代(据www.python.or ...

  4. [ Python入门教程 ] Python字典数据类型及基本操作

    字典是Python中重要的数据类型,字典是由"键-值"对组成的集合,"键-值"对之间用逗号隔开,包含在一对花括号中.字典中的"值"通过&qu ...

  5. [ Python入门教程 ] Python的控制语句

    Python控制语句由条件语句.循环语句构成.控制语句根据条件表达式控制程序的流转.本章将介绍Python中控制语句的基本语法. 条件判断语句 (1)if条件语句 if语句用于检测某个条件是否成立.如 ...

  6. [ Python入门教程 ] Python基础语法

    Python的语法非常简练,因此用Python编写的程序可读性强.容易理解.本章将介绍Python的基本语法和概念. Python文件类型 1.源代码.Python的源代码的扩展名以py结尾,可直接运 ...

  7. [ Python入门教程 ] Python文件基本操作

    本文将python文件操作实例进行整理,以便后续取用. 文件打开和创建 Python中使用open()函数打开或创建文件.open()的声明如下: open(name[, mode[, bufferi ...

  8. [ Python入门教程 ] Python文件基本操作_shutil模块

    shutil模块是对os模块中文件操作的补充,提供文件和目录的移动.复制.打包.压缩.解压等功能 shutil常用函数   shutil.copyfile(src, dst)   复制文件, 如果ds ...

  9. [ Python入门教程 ] Python生成随机数模块(random)使用方法

    1.使用randint(a,b)生成指定范围内的随机整数.randint(a,b)表示从序列range([a,b])中获取一个随机数,包括b. >>> random.randint( ...

随机推荐

  1. ZOJ Problem Set - 1090——The Circumference of the Circle

      ZOJ Problem Set - 1090 The Circumference of the Circle Time Limit: 2 Seconds      Memory Limit: 65 ...

  2. 洛谷p1345---最小割的奇妙运用

    让你去掉最少的点,使得c1和c2变得不连通,你有办法吗??? 这是最小割呀!!! 网络流的最小割去掉的是边,构造边的顶点的唯一关系就好了!!! 需要注意一点 #include<iostream& ...

  3. 洛谷p1119--灾难后重建(Floyd不仅仅是板子)

    问题描述 询问次数  5 000 00,   顶点数  200 怎么办? dijkstra?对不起,超时了/. 时间限制是1秒,询问5 000 00 ,每次dijsktra要跑n*n*logm 次,稳 ...

  4. Visual Studio 2017 安装心得

    既然VS2017已经发布了,就想安装一下试试,先卸载VS2015, 网上有个完全卸载的东东,https://github.com/Microsoft/VisualStudioUninstaller/r ...

  5. 洛谷$P4318$ 完全平方数 容斥+二分

    正解:容斥/杜教筛+二分 解题报告: 传送门$QwQ$ 首先一看这数据范围显然是考虑二分这个数然后$check$就计算小于等于它的不是讨厌数的个数嘛. 于是考虑怎么算讨厌数的个数? 看到这个讨厌数说, ...

  6. 小小知识点(二十)利用MATLAB计算定积分

    一重定积分 1. Z = trapz(X,Y,dim) 梯形数值积分,通过已知参数x,y按dim维使用梯形公式进行积分 %举例说明1 clc clear all % int(sin(x),0,pi) ...

  7. linux下安装cmake方法(2)---直接用命令安装

    1.linux环境下打开网页,输入上网账号密码,确保已经联网 2.打开终端:输入cmake --version,如果出现版本号,表明已经安装,如果显示没有安装cmake,则需要安装 3.在终端里输入: ...

  8. schedule of 2016-09-19~2016-09-25(Monday~Sunday)——1st semester of 2nd Grade

    2016/9/19 Monday 1.make ppt for today's group meeting 2.recite 100 words 3.review <图解机器学习>ch1~ ...

  9. OpenStack Identity API v3 extensions (CURRENT)

    Table Of Contents Identity API v3 extensions (CURRENT) OS-ENDPOINT-POLICY API Associate policy and e ...

  10. 【转】20个简化开发任务的 JavaScript库

    原文出处: codegeekz   译文出处: oschina 所谓JavaScript库就是预先写好的可以简化基于JavaScript的应用程序开发的,尤其是Ajax和其它以web为中心的技术的 J ...