|
在Python中,我们用于处理时间和日期相关的类型最常用的模块是datetime模块。该模块提供了很多与时间日期相关的类,对我们处理时间日期变得很方便。以下是一些常见的关于时间日期的操作。一、datetime类1、获取当前日期和时间(年、月、日、时、分、秒、微秒)fromdatetimeimportdatetimetoday=datetime.today()now=datetime.now()print("当前日期和时间是:",today)#当前日期和时间是:2024-07-2921:05:42.281563print("当前日期和时间是:",now)#当前日期和时间是:2024-07-2921:05:42.28156312345672、输出指定的日期specific_date=datetime(2024,7,29)specific_date1=datetime(2024,7,30,21,55,00)print("指定日期是:",specific_date)#指定日期是:2024-07-2900:00:00print("指定日期是:",specific_date1)#指定日期是:2024-07-3021:55:00123453、计算时间差#两个日期相减会得到时间差对象(timedelta)delta=specific_date1-specific_dateprint(delta,type(delta))#1day,21:55:00#获取两个日期相差的天数和秒数print(delta.days,delta.seconds)#1789001234564、访问datetime对象的属性#通过datetime对象的属性,单独获取时间的年月日时分秒year=now.yearmonth=now.monthday=now.dayhour=now.hourminute=now.minutesecond=now.secondprint(f"年:{year},月:{month},日:{day},时:{hour},分:{minute},秒:{second}")#输出->年:2024,月:7,日:29,时:21,分:08,秒:40123456789105、格式化时间#格式化时间对象formatted_datetime=now.strftime('%Y年%m月%d日%H时%M分%S秒')print("格式化时间:",formatted_datetime)#2024年07月29日21时08分19秒1234二、date类date类一般用于处理日期(年、月、日)。1、获取当前的日期(年、月、日)和属性fromdatetimeimportdatetoday1=date.today()year=today1.yearmonth=today1.monthday=today1.dayprint(today1)#2024-07-29print(f"年:{year},月:{month},日:{day}")#年:2024,月:7,日:29123456789三、time类time类主要用于处理时间(时、分、秒、微秒)。1、指定时间fromdatetimeimporttimecurrent_time=time(15,48,6)#假设当前时间是15时48分6秒print("当前时间:",current_time)#当前时间:15:48:0612342、通过访问time属性分别获取时、分、秒、微秒precise_time=time(15,48,6,123456)print("精确时间:",precise_time)hour=current_time.hourminute=current_time.minutesecond=current_time.secondmicrosecond=precise_time.microsecondprint(f"时:{hour},分:{minute},秒:{second},微秒:{microsecond}")#时:15,分:48,秒:6,微秒:12345612345678四、timedelta类1、计算过去未来的日期fromdatetimeimporttimedelta#计算未来三天的日期future_date=now+timedelta(days=3)print("三天后的日期:",future_date)#三天后的日期:2024-08-0121:16:26.496122#计算过去一小时的时间past_time=now-timedelta(hours=1)print("过去1小时时间:",past_time)#过去1小时时间:2024-07-2820:16:26.49612212345678910112、使用多个参数创建timedelta对象delta=timedelta(weeks=1,days=1,hours=1,minutes=1,seconds=1,microseconds=1)print("时间:",delta)#时间:8days,1:01:01.000001123
|
|