当我们在Python中需要使用到时间的时候,有两个关于时间的模块,分别是time和datetime。time模块偏底层,在部分函数运行的时候可能会出现不同的结果,而datetime模块提供了高级API,使用起来更为方便,我们通常在使用的时候会涉及到包含时间和日期的datetime、只包含日期的date以及只包含时间的time,本节我们就对这三种方法进行学习。
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].
#! /usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName: day5.py
# @Time : 2020/8/9 20:57
# @公众号 : 码上开始
import datetime
# 返回当前日期及时间
now_time = datetime.datetime.now()
print(now_time)
输出结果为:
2020``-``02``-``01` `19``:``18``:``59.926474
#! /usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName: day5.py
# @Time : 2020/8/9 20:57
# @公众号 : 码上开始
import datetime
#返回当前日期及时间``
now_time= datetime.datetime.now()
#输出当前的日期
print(now_time.date())
输出结果:
2020``-``02``-``01
代码如下:
#! /usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName: day5.py
# @Time : 2020/8/9 20:57
# @公众号 : 码上开始
import datetime
#返回当前日期及时间
now_time = datetime.datetime.now()
#输出当前的时间
print(now.time())
输出结果为:
19``:``22``:``10.948940
date对象是日期的专属对象,语法格式如下:
datetime.date(year,month,day),参数分别代表年月日。
#! /usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName: day5.py
# @Time : 2020/8/9 20:57
# @公众号 : 码上开始
import datetime
#返回当前日期
now_time = datetime.date.today()
print(now_time)
输出结果为:
2020``-``02``-``01
这种方式返回与时间戳对应的日期,代码如下:
#! /usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName: day5.py
# @Time : 2020/8/9 20:57
# @公众号 : 码上开始
import datetime
import time
c = time.time()
#返回当前的时间戳
print('当前的时间戳为:' ,c)
now_time = datetime.date.fromtimestamp(c)
#与时间戳对应的日期
print('当前时间戳对应的日期为:', now_time)
输出结果为:
当前的时间戳为: ``1580556848.3161435``当前时间戳对应的日期为: ``2020``-``02``-``01
在这个例题中我们先引入了time模块中的方法,time模块中的time.time()能返回当前时间戳,然后我们使用上面的方法可以返回与时间戳对应的日期。
time类中包含了一整天的信息,语法结构如下:
datetime.time(hour,moniute,second,microsecond,tzinfo``=``None``)
最后一个时区可以省略,看下面例子:
#! /usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName: day5.py
# @Time : 2020/8/9 20:57
# @公众号 : 码上开始
import datetime
now_time = datetime.time(19, 42, 34, 12)
print(now_time)
输出结果为:
19:42:34.000012
由于datetime模块中封装了time模块,所以我们使用datetime模块可以保证数据更为精确,在使用过程中也可以穿插着time模块中的部分功能,例如暂停time.sleep()等方法。