python的datetime模块和time模块
datetime模块
datetime主要包含4个对象:
1.date 处理年,月,日。
2.time 处理时,分,秒 等。
3.datetime 处理日期和时间同时出现的情况。
4.timedelta 处理日期 和 / 或时间间隔。
1.指定年,月,日 来创建一个date对象。
In [1]: from datetime import date
In [2]: halloween= date(2021,10,31)
In [3]: print(halloween)
2021-10-31
In [5]: print(halloween.day)
31
In [6]: print(halloween.month)
10
In [7]: print(halloween.year)
2021
2.使用today()方法生成今天的日期。
In [9]: from datetime import date
In [10]: now = date.today()
In [12]: now
Out[12]: datetime.date(2021, 11, 30)
In [13]: print(now)
2021-11-30
3.使用timedelta 实现date的加法。
In [14]: from datetime import timedelta
In [15]: one_day = timedelta(days=1)
In [16]: tomorrow = now + one_day
In [17]: print(tomorrow)
2021-12-01
In [18]: print(now + 17 * one_day)
2021-12-17
In [19]: yesterday = now - one_day
In [20]: print(yesterday)
2021-11-29
4.time 用来表示一天中的时间。
In [21]: from datetime import time
In [22]: noon = time(12,0,0)
In [24]: noon.hour
Out[24]: 12
In [25]: noon.minute
Out[25]: 0
In [26]: noon.second
Out[26]: 0
In [27]: noon.microsecond
Out[27]: 0
5.datetime 既包含日期也包含时间,并且有一个now()方法,可以获取当前的日期和时间。
In [28]: from datetime import datetime
In [29]: some_day = datetime(2021,11,11,12,12,12,12)
In [30]: print(some_day)
2021-11-11 12:12:12.000012
In [31]: now = datetime.now()
In [32]: print(now)
2021-11-30 17:21:08.796425
time模块
1.time模块的time()函数会返回此刻与1970年1月1日0点的时间差的秒数。
In [1]: import time
In [2]: now = time.time()
In [3]: print(now)
1638264466.299343
2.用ctime()可以将其转换为字符串。
In [4]: time.ctime(now)
Out[4]: 'Tue Nov 30 17:27:46 2021'
# localtime()返回当前系统时区下的时间。
In [5]: time.localtime(now)
Out[5]: time.struct_time(tm_year=2021, tm_mon=11, tm_mday=30, tm_hour=17, tm_min=27, tm_sec=46, tm_wday=1, tm_yday=334, tm_isdst=0)
# gmtime()返回UTC时间。
In [7]: time.gmtime(now)
Out[7]: time.struct_time(tm_year=2021, tm_mon=11, tm_mday=30, tm_hour=9, tm_min=27, tm_sec=46, tm_wday=1, tm_yday=334, tm_isdst=0)
3.strftime() 的格式化字符串 ,常用的梳理。
格式化字符串 | 日期 | 范围 |
---|---|---|
%Y | 年 | 1900-... |
%m | 月 | 01-12 |
%d | 日 | 01-31 |
%H | 时 | 00-23 |
%M | 分 | 00-59 |
%S | 秒 | 00-59 |
In [8]: import time
In [9]: fmt = "It's %Y-%m-%d ,%H:%M:%S"
In [10]: now = time.localtime(time.time())
In [11]: now
Out[11]: time.struct_time(tm_year=2021, tm_mon=11, tm_mday=30, tm_hour=17, tm_min=49, tm_sec=39, tm_wday=1, tm_yday=334, tm_isdst=0)
In [12]: time.strftime(fmt,now)
Out[12]: "It's 2021-11-30 ,17:49:39"