Python-时间
笔记
目录
Python标准库中包含了datetime模块,该模块提供了非常强大的功能来处理日期和时间。 datatime模块是在time模块的基础上做了封装,提供了更多更好用的类,常用的类有date、time、datetime、timedelta、tzinfo
date类主要用于处理年、月、日的日期数据;time类主要用于处理时、分、秒的时间数据;datetime类是date类和time类的综合使用,可以处理年、月、日、时、分、秒;timedelta类主要用于做时间的加减运算;tzinfo类是时区类
方法(属性) | 说明 |
today() | 返回当地的日期 |
fromtimestamp(timestamp) | 根据给定的时间戳,返回本地日期 |
min | date所能表示的最小日期 |
max | date所能表示的最大日期 |
此外,常用的类方法包括today、year、month、day、strftime和strptime等。这些函数可以捕获具体的日期数据(例如:年、月、日)、进行日期和时间的加减运算、创建特定形式的日期字符串以及根据日期字符串创建datetime对象
[例]请利用Python获取当前日期
关键技术:可以利用datetime模块date类的today()方法将当前日期保存在变量中。 通过使用date.today(),可以创建一个date类对象,其中包含了日期元素,如年、月、日,但不包含时间元素,比如时、分、秒。最后,可以使用year、month和day来捕获具体的日期元素
import datetime as dt
ct=dt.date.today()
print(ct)
print(ct.year)
print(ct.month)
print(ct.day)
[例]请利用Python获取当前日期和时间
关键技术:可以利用datetime模块datetime类的today()方法将当前日期和时间保存在变量中。 通过使用datetime.today(),可以创建一个datetime类对象,其中包含了日期元素和时间元素,如年、月、日、时、分、秒。最后,可以使用year、month和day来捕获具体的日期元素,通过hour、minute和second来捕获具体的时间元素
import datetime as dt
ct=dt.datetime.today()
print(ct)
print(ct.year)
print(ct.month)
print(ct.day)
print(ct.hour)
print(ct.minute)
print(ct.second)
[例]请利用Python获取当前时间
关键技术:可以利用datetime模块datetime类的now()方法将当前日期和时间保存在变量中
import datetime as dt
ct=dt.datetime.now()
ct
2.时间戳与time模块
时间戳是以格林威治时间1970年01月01日00时00分00秒为基准计算所经过时间的秒数,是一个浮点数。Python的内置模块time和datetime都可以对时间格式数据进行转换,如时间戳和时间字符串的相互转换
[例]请利用Python将当前系统时间加盖时间戳,进行转换
关键技术:可以采用Python的time模块提供的mktime()函数,对数据加盖时间戳。 可以通过time.time()获取到当前的时间,默认是一个时间戳浮点数。也可以通过time.localtime()获取到当前时间的元组,里面分别对应了当前时间的年、月、日、时、分、秒、一周的第几天(周一是0,0-6)、一年的第几天(从1开始,1-366)、夏时令(是夏时令1,不是0,未知-1)
import time
print(time.localtime())
[例]请利用Python将时间戳数据转换成系统时间
关键技术:可以利用time模块的strftime()函数可以将时间戳转换成系统时间
import time
ct=time.strftime(('%Y-%m-%d %H:%M:%S'),time.localtime(2653967697))
ct
二、字符串和时间转换
[例]请利用Python将字符串'2022-01-15'转换成时间类型的数据格式
关键技术:在可以用strptime函数将日期字符串转换为datetime数据类型,可以用Pandas的to_datetime()函数将日期字符串转换为datetime数据类型。to_datetime()函数转化后的时间是精准到时分秒精度的
import datetime as dt
datestr='2023-08-28'
#strptime
dt.datetime.strptime(datestr,'%Y-%m-%d')
#to_datetime
pd.to_datetime(datestr)
三、时间运算
[例]给定两个时间类型的数据,计算两个时间的不同之处
关键技术:利用datetime将时间类型数据进行转换,然后利用减法运算计算时间的不同之处,默认输出结果转换为用(“天”,“秒”)表达
import datetime as dt
delta = dt.datetime(2022,1,16)-dt.datetime(2021,1,1,9,15)
print(delta)
如果要将输出结果转换以“天”为单位,此时应该如何处理
关键技术:针对上例中的delta变量,利用delta.days可以将输出结果转换以“天”为单位
import datetime as dt
delta = dt.datetime(2022,1,16)-dt.datetime(2021,1,1,9,15)
delta.days
如果要将输出结果转换以“秒”为单位,此时应该如何处理?
关键技术:针对上例中的delta变量,利用delta.seconds可以将输出结果转换以“秒”为单位
import datetime as dt
delta = dt.datetime(2022,1,16)-dt.datetime(2021,1,1,9,15)
delta.seconds