Python中的datetime模块!

版权声明:未经博主允许不得转载。 https://blog.csdn.net/qq_43774897/article/details/88924864

datetime模块分成三个大部分,其中:
1. datetime.date : date部分只含有年 月 日信息。
2. datetime.time : time部分只含有时 分 秒 微秒。
3. datetime.datetime : datetime部分包含date 和 time 两部分,也就是包含年 月 日 时 分 秒 微秒。

一.datetime.date

1.1 创建自定义日期

注意:个位数的月和日前面不要加0

import datetime

d = datetime.date(2018,9,24)
print(d)
2018-09-24

1.2 获取本地时间

tday = datetime.date.today()
print(tday)
2019-03-31

分别获取本地时间的年,月,日,周

print(tday.year)# 获取年
2019
print(tday.month)# 获取月
3
print(tday.day)# 获取日
31
print(tday.weekday())# 获取星期几,0-6代表周一到周天
6
print(tday.isoweekday())# 获取星期几,1-7代表周一到周天
7

1.3 datetime.timedelta方法可以对时间进行运算操作

 datetime.date对象 = datetime.date对象 ± datetime.timedelta对象

计算明天日期 

import datetime
# 获得本地日期
tday = datetime.date.today()
# 定义操作时间 day=7 也就是可以对另一个时间对象加7天或者减少7点
tdelta = datetime.timedelta(days=7)

# 打印今天的日期
print('今天的日期:{}'.format(tday))
# 打印七天后的日期
print('从今天向前推7天:{}'.format(tday + tdelta))

今天的日期:2019-03-31
从今天向前推7天:2019-04-07

 也可以直接从datetime里导入datetime和timedelta来操作

from datetime import datetime
from datetime import timedelta

now = datetime.now()
aDay = timedelta(days=1)      #主要控制days这个参数计算日期
now = now + aDay  
print(now.strftime('%Y-%m-%d'))  #转换时间格式

2019-04-01

now = datetime.now()
aDay = timedelta(days=-1)  #计算昨天日期
now = now + aDay
print(now.strftime('%Y-%m-%d'))

2019-03-30

1.4 计算某日离今日有多少天

扫描二维码关注公众号,回复: 5720992 查看本文章

bday = datetime.date(2001,1,24)  #开始日期

tday = datetime.date.today()  # 今天的日期

days = bday - tday
print('开始日期:{}'.format(bday))
print('今天的日期:{}'.format(tday))
print('隔了{}'.format(days))

开始日期:2001-01-24
今天的日期:2019-03-31
隔了-6640 days, 0:00:00

 二.datetime.time

t = datetime.time(9, 30, 45, 100000)
print(t)
09:30:45.100000

分别获取datetime.time对象的 小时 分钟 秒 微秒

print(t.hour)
print(t.minute)
print(t.second)
print(t.microsecond)
9
30
45
100000

三.datetime.datetime

如果我们想用 年 月 日 小时 分钟 秒 微秒这样的日期时间,这时候就需要datetime.datetime对象出场啦

import datetime
dt = datetime.datetime(2016, 7, 26, 12, 30, 45, 100000)
print(dt)
2018-07-26 12:30:45.100000

print(dt.date())  #获得datetime.date对象
2018-07-26
print(dt.time())  获得datetime.time对象
12:30:45.100000

# 等价于
from datetime import datetime
dt = datetime(2018, 7, 26, 12, 30, 45, 100000)
print(dt)
2018-07-26 12:30:45.100000
print(dt.date())  #获得datetime.date对象
2018-07-26
print(dt.time())  获得datetime.time对象
12:30:45.100000

datetime.datetime对象遵循着之前的运算法则

datetime.timedelta对象 = datetime.datetime对象 ± datetime.datetime对象

import datetime

dt = datetime.datetime(2018, 9, 7, 21, 28, 45, 100000)

tdelta = datetime.timedelta(days=12)

print(dt + tdelta)

2018-09-19 21:28:45.100000

猜你喜欢

转载自blog.csdn.net/qq_43774897/article/details/88924864