详细参见:Python常用标准库之datetime模块 - 知乎 (zhihu.com)
datetime模块提供了五个常用类:date、time、datetime、timedelta、tzinfo
1.date类
date类包含三个参数,分别为year,month,day,返回格式为year-month-day。date对象表示理想化日历中的日期(年、月和日), 公历1年1月1日被称为第一天,依次往后推。
其中用户创建时间的类方法如下:
import datetimeprint("今天的日期是:",datetime.date.today()) # 今日的日期print("使用时间戳创建的日期:",datetime.date.fromtimestamp(1234567896)) # 使用时间戳创建日期print("使用公历序数创建的日期:",datetime.date.fromordinal(1)) # 使用公历序数创建的日期结果如下:今天的日期是: 2020-08-31
使用时间戳创建的日期: 2009-02-14
使用公历序数创建的日期: 0001-01-01
对象的属性及其方法:
import datetimetoday = datetime.date(year=1999,month=1,day=9) # 使用参数创建日期
在如上基础上做print:
print('date对象的年份:', today.year)
print('date对象的月份:', today.month)
print('date对象的日:', today.day)#########################################
#结果
date对象的年份: 1999
date对象的月份: 1
date对象的日: 9
print("指定格式为:",today.strftime("%Y/%m/%d"))
print("替换后的日期为:",today.replace(2019,9,29))#结果
#############################################
指定格式为: 1999/01/09
替换后的日期为: 2019-09-29
print("date对象的struct_time结构为:",today.timetuple())
print("返回当前公历日期的序数:",today.toordinal()) # 与fromordinal函数作用相反##########################################################3
date对象的struct_time结构为: time.struct_time(tm_year=1999, tm_mon=1, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=9, tm_isdst=-1)
返回当前公历日期的序数: 729763
print("当前日期为星期(其中:周一对应0):{}".format(today.weekday()))
print("当前日期为星期(其中:周一对应1):{}".format(today.isoweekday()))
print("当前日期的年份、第几周、周几(其中返回为元组):",today.isocalendar())# 结果
###################################################
当前日期为星期(其中:周一对应0):5
当前日期为星期(其中:周一对应1):6
当前日期的年份、第几周、周几(其中返回为元组): datetime.IsoCalendarDate(year=1999, week=1, weekday=6)
其中,格式化的表达式如下:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
2.实操
import datetime
time = '['+str(datetime.datetime.utcnow() + datetime.timedelta(hours=8))[:19]+'] -'
print(time)
输出结果:
[2023-07-12 10:39:03] -
说明:
这行代码创建了一个包含当前时间的字符串。它使用datetime.datetime.utcnow()
获取当前的UTC时间,然后通过datetime.timedelta(hours=8)
添加8小时,以获得UTC+8时间(东八区时间)。最后,使用切片操作[:19]
提取字符串中的前19个字符,以获得日期和时间部分。最终,字符串被包裹在方括号内,并附加一个短横线。