时间,你好!Hello 2021!(讲义)

一、日期:datetime.date
日期

from datetime import date
# 1 <= year <= 9999
# 1 <= month <= 12
# 1 <= 日期 <= 给定年月对应的天数
d = date(year=2021, month=1, day=1)
print('时间,你好!Hello', d)
时间,你好!Hello 2021-01-01
today = date.today()
print(today)
2021-01-02
# timedelta:用于表示时间间隔
from datetime import timedelta
td = today - d
print(td)
print(type(td))
1 day, 0:00:00
<class 'datetime.timedelta'>
# 支持的运算:与timedelta相加、减;date间求差;date间比较
d1 = date(year=2021, month=1, day=1)
d2 = d1 + timedelta(days=10)
print(d1, d2, d1 < d2)
print(d2 - d1)
2021-01-01 2021-01-11 True
10 days, 0:00:00

二、时间:datetime.time
时间

from datetime import time
# 0 <= hour < 24
# 0 <= minute < 60
# 0 <= second < 60
# 0 <= microsecond < 1000000
t = time(hour=9, minute=8, second=6, microsecond=2)
print(t)
09:08:06.000002
# 支持的运算:time间比较
t1 = time(hour=10, minute=54, second=16)
t2 = time(hour=12, minute=34, second=56)
print(t1 < t2)
True

三、日期&时间:datetime.datetime
日期时间

from datetime import datetime
dt = datetime(2021, 1, 1, 8, 9, 10)
print(dt)
2021-01-01 08:09:10
now = datetime.now()
print(now)
2021-01-02 23:05:50.519275
# 支持的运算:与timedelta相加、减;datetime间求差;datetime间比较
dt1 = datetime.now()
dt2 = dt1 - timedelta(days=1, hours=10)
print('dt1:', dt1)
print('dt2:', dt2)
dt1: 2021-01-02 23:05:50.526456
dt2: 2021-01-01 13:05:50.526456
print('dt1 > dt2:', dt1 > dt2)
print('dt1 - dt2:', dt1 - dt2)
dt1 > dt2: True
dt1 - dt2: 1 day, 10:00:00

四、日期&时间的字符串格式化
格式化

# date、time、datetime均可调用strftime方法。
now = datetime.now()
# 用来创建一个由指定格式字符串所控制的表示时间的字符串
now_str = now.strftime("%Y-%m-%d %H:%M:%S")
print(now_str)
2021-01-02 23:05:50

格式代码:

  • %Y:补零后,以十进制数表示的、带世纪的年份,如,0001,0002,…,2019,2020,…,9999
  • %m:补零后,以十进制数表示的月份,如,01,02,…,12
  • %d:补零后,以十进制数表示月份中的一天,如,01,02,…,31
  • %H:补零后,以十进制数表示的小时(24小时制),如,00,01,…,23
  • %M:补零后,以十进制数表示的分钟,如,00,01,…,59
  • %S:补零后,以十进制数表示的秒,如,00,01,…,59
# 只有datetime可调用strptime方法。
# 根据一个表示时间的字符串和对应的格式字符串创建一个datetime对象
dt = datetime.strptime("2021年01月02日 18时37分01秒",
                       "%Y年%m月%d日 %H时%M分%S秒")
print(dt)
2021-01-02 18:37:01
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值