惬意上手Python —— datetime 、time、calendar 模块

目录

1. datetime

1.1 date

1.2 time

1.3 datetime

1.4 timedelta

2. time

3. calendar


1. datetime

 python中的用于输出跟时间相关的模块叫 datetime,从 datetime 中可以导入 date 、time 、datetime 、timedelta 等模块成员。

使用哪个就导入哪个,方法如下:

from datetime import date, timedelta, time, datetime

1.1 date

 date 的中文释意就是 日期,成员 date 可以输出年数、月数、天数等。

date 下又有一个函数 today( ),是用于获取当天的年份、月份、天数等的。

今天是 2024年 1 月 10 日,周 3,看如下代码:

from datetime import date

d = date.today() # 获取今日日期

print(d)         # 输出今日日期
print(type(d))   # 输出 d 的类型
print(d.year)    # 输出年份
print(d.month)   # 输出月份
print(d.day)     # 输出天数
print(d.weekday() + 1) # 输出星期几

print(d.strftime("%Y / %m / %d"))

 

通过运行结果可以发现 date.today() 的类型不再是五中常见的数据类型,而且输出的星期几是当前日期的前一天,因此要加上一。

并且日期的输出也有另外一种方法,就是代码的最后一行,其中用到了函数 strftime( ),使用要求是加上 % ,Y 代表四位的年份,y 代表两位的年份(2024年输出 24),m 代表月份,d 代表天。

此外,日期还可以自定义,如:

d2 = date(2002, 9, 8)

其中按顺序来,分别代表 年、月、日 ,即 2002 年 9 月 28 日。

 输出需要的年或月等和前面代码所用的方法相同。

1.2 time

time 就是时间,一般就是输出时、分、秒,但子模块 time 中可以输出微秒。

和 date 和 time 的区别就是能输出的时间不同,而且time中不能输出当前的时间。

因此想要输出时间,只能自定义: 

# 导入模块
from datetime import time
# 定义时间 (时,分,秒)
d1 = time(11, 11, 11)

# 两种输出方式
print(d1.hour, d1.minute, d1.second)
print(d1.strftime("%H:%M:%S"))

其实定义方法和输出方法和 date 是相似的,可以对比一下。 

1.3 datetime

datetime 可以说就是 date 和 time 的结合,能输出的时间也就是二者的所有。它是可以输出当前的时间的,用到了函数 now( )。

剩下的直接看代码,很简单。

from datetime import datetime

# 从左到右分别位 年、月、日、时、分、秒
d = datetime(2024, 1, 10, 12, 11, 22)

print(d.year)
print(d.month)
print(d.day)
print(d.hour)
print(d.minute)
print(d.second)

# 输出当前的时间
print(datetime.now())

 

最后输出的当前时间是带有毫秒的。 

1.4 timedelta

timedelta 的意思就是时间增量。定义如下变量:

time_increment = timedelta(days=3, weeks=2, hours=3, minutes=4, seconds=5)

 就是定义了一个时间变量,可以用一个时间加上它,得到的结果就是原来的时间加上现在的时间。这样讲比较抽象,直接看代码吧。

future = now + timedelta(days=2, hours=3) # 输出现在的时间加上2天3小时
print(future)

ever = now - timedelta(days=2, hours=3) # 减就是减去相应的天数和小时数
ever2 = now - timedelta(2, 3)
print(ever)
print(ever2)

 

 这是很简单的,但是有一点需要注意,ever 和 ever2 的定义方式是不同的,ever2 中的timedelta(2, 3) ,2 代表的是天数,3代表的则是秒数。

如果你使用的是pycharm 的专业版,则会有提示:

2. time

 time 是一个模块,使用时需要导入,time 中有一个比较常用的方法就是 sleep,它可以使程序按秒暂停。

如果你运行一下以下代码,就会发现每隔一秒就会输出一次当前的时间:

import time # 导入模块
print(time.time())
time.sleep(1)
print(time.time())
time.sleep(1)
print(time.time())
time.sleep(1)
print(time.time())

 只有运行感受才最深,不再粘截图。sleep 常用于爬虫中,防止被服务器识别你是爬虫而拉黑你的IP。代码中用到了 time 模块中的 time 方法,就是用于输出当前时间。

3. calendar

calendar 也是一个模块,同样需要导入。calendar 模块下也有很多方法,有兴趣可自行尝试:

这里仅介绍一个用于判断闰年的方法,如果你手写过代码来判断一个年份是否是闰年,就会觉得这个比较有趣,因为只需要几行代码,🆗,直接上代码。

import calendar
a = 2000
# 判断一个数是不是闰年
print(calendar.isleap(a))

 2000 年是闰年,所以结果会返回 True 哦。 

over😎,如果觉得我写的可以,可以点个关注,鼓励一下作者哦❤❤❤

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值