1.datatime模块介绍
datetime
是python的内置模块,用来处理日期和时间。datetime
对象是 date 与 time 的结合体,涵盖了date
和time
对象
的所有信息。
该模块常用的类有:
类名 | 功能说明 |
---|---|
date | 日期对象 |
time | 时间对象 |
datetime | 日期时间对象 |
timedelta | 时间间隔 |
tzinfo | 时区信息对象 |
2.构造datatime对象
from datetime import datetime
datetime(year,month,day,hour=0, minute=0, second=0, microsecond=0, tzinfo=None)
参数范围:
MINYEAR <= year <= MAXYEAR
1 <= month <= 12
1 <= day <= 指定年月的天数
0 <= hour < 24
0 <= minute < 60
0 <= second < 60
0 <= microsecond < 1000000
3.datatime类方法
datetime.today()
返回本地区当前日期时间datetime对象
datetime.today()
# 输出 : datetime.datetime(2019, 12, 9, 13, 27, 54, 693978)
datetime.now(tz=None)
返回本地区当前日期时间datetime对象,可以添加时区tz 默认无时区时,返回结果和datetime.today()一致
datetime.now()
# 输出 : datetime.datetime(2019, 12, 9, 13, 27, 54, 693978)
datetime.fromtimestamp(timestamp, tz=None)
返回给定时间戳的datetime
对象,时区默认为空,返回当地日期时间,也可以指定时区
datetime.fromtimestamp(1575877756)
# 输出 : datetime.datetime(2019, 12, 9, 15, 49, 16)
附注:想获取当前时间戳,可通过time
模块的time
方法实现
datetime.combine(date, time, tzinfo=self.tzinfo)
拼接date
和time
对象,形成一个新的datetime
对象 可以输入时区参数,否则默认为原time
的时区
date_ = datetime.today().date()
time_ = datetime.today().time()
datetime.combine(date_,time_)
# 输出 : datetime.datetime(2019, 12, 9, 16, 12, 56, 914484)
datetime.strptime(date_string, format)
将格式化日期时间字符串,转换为datetime
对象,可以转换日期、时间、日期时间
datetime.strptime('2019-11-05','%Y-%m-%d')
# 输出 : datetime.datetime(2019, 11, 5, 0, 0)
datetime.strptime('09:30:50','%H:%M:%S')
# 输出 : datetime.datetime(1900, 1, 1, 9, 30, 50)
datetime.strptime('2019-11-05 09:30:50','%Y-%m-%d %H:%M:%S')
# 输出 : datetime.datetime(2019, 11, 5, 9, 30, 50)
4.datatime实例方法
d = datetime(2019,12,6,13,30,50)
d.date() # 输出 : datetime.date(2019, 12, 6) d.time() # 输出 : datetime.time(13, 30, 50) d.timestamp() # 输出 : 1575610250.0 d.weekday() # 输出 : 4 返回星期几,星期一为 0,星期天为 6 d.isoweekday() # 输出 : 5 返回星期几,星期一为 1,星期天为 7 d.isocalendar() # 输出 : (2019, 49, 5) 返回数组:(年、第多少周、星期几)
datetime.strftime(date_string, format)
将datetime
对象转换为格式化字符串
d = datetime.today()
datetime.strftime(d,'%Y-%m-%d %H:%M:%S')
# 输出 : '2019-12-09 16:32:18'
5.datatime类实例属性
d = datetime(2019,12,6,13,30,50)
d.year
# 输出 : 2019
d.month
# 输出 : 12
d.day
# 输出 : 6
d.hour
# 输出 : 13
d.minute
# 输出 : 30
d.second
# 输出 : 50
d.microsecond
# 输出 : 3000
6.datatime时差计算
1)计算时间差:
#! /usr/bin/env python
#coding=utf-8
import time
import datetime
d1 = datetime.datetime(2011, 2, 8)
d2 = datetime.datetime(2010, 12, 31)
print(d1 - d2).days
2)计算运行时间:
#! /usr/bin/env python
#coding=utf-8
import time
import datetime
starttime = datetime.datetime.now()
time.sleep(5)
endtime = datetime.datetime.now()
print(endtime - starttime).seconds
3)计算十天后日期时间:
#! /usr/bin/env python
#coding=utf-8
import time
import datetime
d1 = datetime.datetime.now()
d3 = d1 + datetime.timedelta(days =10)
print(str(d3))
print(d3.ctime())
7.time模块
1)显示当前日期:
#! /usr/bin/env python
#coding=utf-8
import time
print(time.strftime("%Y-%m-%d %A %X %Z", time.localtime()))