Dotcpp  >  编程教程  >  Python模块  >  datetime模块

datetime模块

点击打开在线编译器,边学边练

当我们在Python中需要使用到时间的时候,有两个关于时间的模块,分别是timedatetime。time模块偏底层,在部分函数运行的时候可能会出现不同的结果,而datetime模块提供了高级API,使用起来更为方便,我们通常在使用的时候会涉及到包含时间和日期的datetime、只包含日期的date以及只包含时间的time,本节我们就对这三种方法进行学习。

1. datetime

datetime的使用方法为:

datetime.dateto,e(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)

其中year,month和day是不能缺少的,tzinfo为时区参数,可以为None或其他参数,其余参数的范围如下:

MINYEAR <= year <= MAXYEAR,

1 <= month <= 12,

1 <= day <= number of days in the given month and year,

0 <= hour < 24,

0 <= minute < 60,

0 <= second < 60,

0 <= microsecond < 1000000,

fold in [0, 1].

下面讲几种常用的方法:

       1) datetime.datetime.now()

返回当前的日期和时间。

代码如下:

import datetime
t = datetime.datetime.now()#返回当前日期及时间
print(t)

输出结果为:

2020-02-01 19:18:59.926474

       2) date()

返回当前时间的日期。

代码如下:

import datetime
t = datetime.datetime.now()#返回当前日期及时间
print(t.date())#输出当前的日期

输出结果:

2020-02-01

       3) time()

返回当前的时间对象。

代码如下:

import datetime
t = datetime.datetime.now()#返回当前日期及时间
print(t.time())#输出当前的时间

输出结果为:

19:22:10.948940

       4) utctimetuple()

返回UTC时间元组。

代码如下:

import datetime
t = datetime.datetime.now()#返回当前日期及时间
print(t.utctimetuple())#输出当前的日期

输出结果为:

time.struct_time(tm_year=2020, tm_mon=2, tm_mday=1, tm_hour=19, tm_min=23, tm_sec=29, tm_wday=5, 
tm_yday=32, tm_isdst=0)

2. date

date对象是日期的专属对象,语法格式如下:

datetime.date(year,month,day),参数分别代表年月日。

date类中的常用功能有2种:

       1) datetime.date.today()

这种用法直接返回了当前的日期,代码如下:

import datetime
t = datetime.date.today()#返回当前日期
print(t)

输出结果为:

2020-02-01

       2) datetime.date.fromtimestamp()

这种方式返回与时间戳对应的日期,代码如下:

import datetime
import time
c = time.time()#返回当前的时间戳
print('当前的时间戳为:',c)
t = datetime.date.fromtimestamp(c)#与时间戳对应的日期
print('当前时间戳对应的日期为:',t)

输出结果为:

当前的时间戳为: 1580556848.3161435
当前时间戳对应的日期为: 2020-02-01

在这个例题中我们先引入了time模块中的方法,time模块中的time.time()能返回当前时间戳,然后我们使用上面的方法可以返回与时间戳对应的日期。

3. time

time类中包含了一整天的信息,语法结构如下:

datetime.time(hour,moniute,second,microsecond,tzinfo=None)

最后一个时区可以省略,看下面例子:

import datetime
t = datetime.time(19,42,34,12)
print(t)

输出结果为:

19:42:34.000012

4. 总结

由于datetime模块中封装了time模块,所以我们使用datetime模块可以保证数据更为精确,在使用过程中也可以穿插着time模块中的部分功能,例如暂停time.sleep()等方法。



本文固定URL:https://www.dotcpp.com/course/272

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Python教程
第一章 Python入门
第二章 Python基础语法
第三章 Python入门语法
第四章 Python核心语法
第五章 Python函数
第六章 Python面向对象编程
第七章 Python模块
第八章 Python异常处理和程序调试
第九章 Python文件及目录操作
第十章 PythonGUI编程
第十一章 Python进程和线程
第十二章 Python数据库管理
第十三章 Python算法
第十四章 Python爬虫
第十五章 Python实战项目
第十六章 后记
Dotcpp在线编译      (登录可减少运行等待时间)