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. ffmpeg 转码并截图的命令分析

    一.转码并截图的命令分析: 1.转码并截图,将码率转换为900Kffmpeg -i E:\\1.MOV -i E:\\123.jpg -filter_complex overlay=W-w  -b:v ...

  2. 初次在cmd使用git命令上传项目至github方法(笔记)

    在一切开始之前,先推荐一个git简易工具书--Git_Cheat_Sheet,非常适合新手.自行搜索即可,也有热心者提供了中文版. 一.下载 Git 从Git官网下载Git安装包 https://gi ...

  3. 洛谷P1036 选数 题解 简单搜索/简单状态压缩枚举

    题目链接:https://www.luogu.com.cn/problem/P1036 题目描述 已知 \(n\) 个整数 \(x_1,x_2,-,x_n\) ,以及 \(1\) 个整数 \(k(k& ...

  4. V3微信支付开发笔录

    真是坑爹啊,微信支付到处都是坑,一不小心就栽里面了, 文档也不怎么全,经过一周的奋斗终于把微信支付功能搞定,在此写下自己当时走入的误区和一些需要注意的地方,希望后边开发的朋友们可以少走弯路,少被微信坑 ...

  5. WPF 添加提示动画

    下面放一张效果图: 那么具体是怎么实现呢: 前端XAML中: <Image Source="/Images/tips.png" HorizontalAlignment=&qu ...

  6. iOS-UITableView HeaderView随Cell一起移动

    我们在使用TableView的时候,有时会设置HeaderView,当我们滑动的时候,HeaderView不会随Cell滑出屏幕,而是会固定到导航栏下面.今天我们要实现HeaderView随滑动一起滑 ...

  7. 【Java基础总结】字符串

    1. java内存区域(堆区.栈区.常量池) 2. String length() //长度 //获取子串位置 indexOf(subStr) lastIndexOf(subStr) //获取子串 c ...

  8. linux入门系列5--新手必会的linux命令

    上一篇文章"linux入门系列4--vi/vim编辑器"我们讨论了在linux下如何快速高效对文本文件进行编辑和管理,本文将进一步学习必须掌握的linux命令,掌握这些命令才能让计 ...

  9. Spring--2.Spring之IOC--IOC容器的23个实验(1)

     实验1.IOC容器创建对象,并为属性赋值 Hello World:(通过各种方式给容器中注册对象(注册会员)) 以前是自己new对象,现在所有对象交给容器创建:给容器中注册组件 以后框架编写流程: ...

  10. 完美解决win10系统无法安装.NET Framework问题

    今天在安装willow插件的时候系统提示需要安装.NET Framework3.5的问题,当点击系统自动解决的时候,Windows系统又会提示错误,其实这也见怪不怪了,如果能自动解决的话也不会出现这种 ...