2018
import time#=====time=====# 时间格式:时间戳,struct_time# 1.获取当前时间(时间戳)"""时间戳:一个时间到1970年1月1日0点0分0秒的时间差。单位是秒a.方便对时间进行加密(保存时间前进行额外的运算)b.节省内存(数据库)"""time1=time.time()print(time1,type(time1))# 2.localtime"""localtime():获取当前时间(struct_time)localtime(时间戳):把时间戳转换成时间tm_year -> 年tm_mon -> 月tm_mday -> 日tm_hour -> 时tm_min -> 分tm_sec -> 秒tm_wday -> 星期(值的范围是0~6,分别是对应的周一~周天)tm_yday -> 当前时间是今年的第几天tm_isdst -> 是否是夏令时"""time2=time.localtime()print(time2,time2.tm_year,time2.tm_mon)time3=time.localtime(100)print('%d.%d.%d'%(time3.tm_year,time3.tm_mon,time3.tm_mday))# 3.strftime:将时间(struct_time)以指定的格式转换成字符串"""strftime(格式,时间) --> 返回时间字符串格式:是时间字符串(含有时间格式符的字符串)%Y -> 年%m -> 月%d -> 日%H -> 时%M -> 分%S -> 秒%a -> 星期(英文缩写)%A -> 星期(英文)%h -> 月(英文缩写)"""str_time1=time.strftime('%Y-%m-%d',time2)print(str_time1)# 4.strptime:将字符串转换成时间"""strptime(字符串,格式)"""time4=time.strptime('2018-05-25 08:48:02','%Y-%m-%d %H:%M:%S')print(time4)#======datetime.datetime======from datetime import datetime,time,date"""date:可以表示年月日time类:可以表示时分秒datetim类:可以表示年月日时分秒毫秒"""# 1.date类"""对象属性:day,month,year"""date1=date(2018,5,25)print(date1.year,date1.month,date1.day)"""类方法:fromtimestamp(时间戳) --> 将时间戳转换成日期(date对象)today() --> 获取当前日期"""date2=date.fromtimestamp(2182312.323)print(date2,type(date2))date3=date.today()print(date3)"""对象方法:ctime() --> 将日期对象以'%a %h %d %H:%M:%S %Y'格式转换成字符串strftime(时间格式字符串) --> 将日期对象以指定的格式转换为字符串timetuple() --> 将日期转换为struct_timeweekday()/isoweekday() --> 获取星期值"""a=date3.ctime()print(a,type(a))a1=date3.strftime('%Y年/%m月/%d日')print(a1)t=date3.timetuple()print(t)#========时间的加减操作======="""date对象和datetime的对象都支持加减操作date对象 + timedelta对象"""from datetime import timedeltadate1=date(2018,5,25)print(date1)new_date=date1 + timedelta(days=116)print(new_date)date2=datetime.now()print(date2)new_date=date2+timedelta(minutes=5)print(new_date)
1、datetime模块:日期包含年、月、日、小时、分钟、秒和微秒。datetime 模块有许多方法可以返回有关日期对象的信息。一般操作就是获取时间是哪年哪月什么时间端,处于那个时区范围,几个操作时间之间的间隔是多少等等。
2、datetime模块定义了5个类:
序号
类
含义
1
datetime.datetime
表示日期时间的类
2
datetime.timedelta
表示时间间隔,即两个时间点的间隔
3
datetime.date
表示日期的类
4
datetime.time
表示时间的类
5
datetime.tzinfo
时区的相关信息
其中:1完全可以理解时3和4的整合。
# ---------datetime类(日期时间)操作统计---------------#x_today=datetime.datetime.today() # 当前本地时间的datetime对象print(x_today)# 结果显示2021-11-12 19:14:53.984157x=datetime.datetime.now() # 获取当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间print(x)# 结果显示2021-11-12 19:14:53.984157x_utcnow=datetime.datetime.utcnow() # 当前utc时间的datetime对象print(x_utcnow)# 结果显示2021-11-12 14:22:44.318067x_utcTStamp=datetime.datetime.utcfromtimestamp(2021 - 11 - 12 - 22 - 9 - 24) # 根据时间戮创建一个datetime对象print(x_utcTStamp)# 结果显示1970-01-01 00:32:23print(x.date()) # 获取当前日期# 结果显示2021-11-12print(x.year) # 获取当前日期--年份# 结果显示2021print(x.month) # 获取当前日期--月份# 结果显示11print(x.day) # 获取当前日期--那一天# 结果显示12print(x.hour) # 获取当前日期--小时# 结果显示19print(x.minute) # 获取当前日期--分钟# 结果显示14print(x.second) # 获取当前日期--秒# 结果显示53print(x.microsecond) # 获取当前日期--微秒# 结果显示984157print(x.tzinfo)# 结果显示Noneprint(x.now()) # 获取当前时间# 结果显示2021-11-12 19:14:53.984157print(x.isocalendar()) # 获取当前(年份、周数、工作日)的元组# 结果显示(2021, 45, 5)print(x.time()) # 获取当前时间-时:分:秒# 结果显示19:14:53.984157print(x.weekday())# 结果显示4print(x.isoweekday()) # 获取当前工作日-星期几# 结果显示5print(x.max) # 获取最大日期时间# 结果显示9999-12-31 23:59:59.999999print(x.min) # 获取最小日期时间# 结果显示0001-01-01 00:00:00print(x.resolution) # 获取日期时间的最小单位# 结果显示0:00:00.000001print(x.timetuple()) # 返回日期对应的time.struct_time对象# 结果显示time.struct_time(tm_year=2021, tm_mon=11, tm_mday=13, tm_hour=10, tm_min=16, tm_sec=33, tm_wday=5, tm_yday=317, tm_isdst=-1)print(x.utctimetuple()) # 返回日期对应utc的time.struct_time对象# 结果显示time.struct_time(tm_year=2021, tm_mon=11, tm_mday=13, tm_hour=10, tm_min=17, tm_sec=46, tm_wday=5, tm_yday=317, tm_isdst=0)print(x.toordinal())# 结果显示738107print(x.isoformat()) # 返回根据 ISO 格式化的时间# 结果显示2021-11-13T10:23:57.006094print(x.ctime()) #返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()))# 结果显示Sat Nov 13 10:26:04 2021print(x.strftime('%S-%M-%H %d-%m-%Y')) #返回自定义格式化字符串# 结果显示31-30-10 13-11-2021# -------date类(日期)操作统计-------------------------#x2=datetime.date.today() # 返回一个表示当前本地日期的date对象print(x2)# 结果显示2021-11-12print(x2.year) # 获取最大日期范围# 结果显示2021print(x2.month) # 获取最大日期范围# 结果显示11print(x2.day) # 获取最大日期范围# 结果显示12print(x2.weekday()) # 获取当前工作日-星期几# 结果显示4print(x2.isoweekday()) # 获取当前工作日-星期几# 结果显示5print(x2.isocalendar()) # 获取当前(年份、周数、工作日)的元组# 结果显示(2021, 45, 5)print(x2.isoformat()) # 返回格式如'YYYY-MM-DD’的字符串# 结果显示2021-11-12print(x2.strftime('%Y--%m--%d')) # 自定义格式化字符串# 结果显示2021--11--12print(x2.max) # 获取最大日期范围# 结果显示9999-12-31print(x2.min) # 获取最小日期范围# 结果显示0001-01-01print(x2.resolution) # 日期的最小单位--天# 结果显示1 day, 0:00:00x2x=x2.replace(2035,10,10) # 生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变)print(x2x)# 结果显示2035-10-10print(x2)# 结果显示2021-11-12print(x2x.toordinal()) # 返回日期对应的Gregorian Calendar日期# 结果显示743186x_time=x2.timetuple() # 返回日期对应的time.struct_time对象print(x_time)# 结果显示time.struct_time(tm_year=2021, tm_mon=11, tm_mday=13, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=317, tm_isdst=-1)print(x_time[1])# 结果显示11# ---------time类(时间)操作统计-------------#x4=datetime.time(12, 23, 34, tzinfo=None)print(x4) # 获取指定时间类对象# 结果显示12:23:34print(x4.hour)# 结果显示12print(x4.minute)# 结果显示23print(x4.second)# 结果显示34print(x4.microsecond)# 结果显示0print(x4.tzinfo) # 获取时区信息# 显示结果Noneprint(x4.tzname()) # 返回时区名称# 显示结果Noneprint(x4.min) # 获取时间类范围内的--最小时间# 结果显示00:00:00print(x4.max) # 获取时间类范围内的--最大时间# 结果显示23:59:59.999999print(x4.resolution) # 获取时间的最小单位为1微秒# 结果显示0:00:00.000001print(x4.isoformat()) # 返回型如"HH:MM:SS"格式的字符串表示# 结果显示12:23:34print(x4.strftime('%S-%M-%H')) # 返回自定义格式化字符串# 结果显示34-23-12x4X=datetime.time.replace(x4, 15, 12, 46) # 创建一个新的时间对象,用参数指定的时、分、秒、微秒代替原有对象中的属性(原有对象仍保持不变);print(x4X)# 结果显示15:12:46print(x4)# 结果显示12:23:34# -----------timedelta类(时间间隔)操作统计---------------#datetime class timedelta(SupportsAbs[timedelta])表示两个日期时间对象之间的差异(时间间隔)。支持的加减时间增量,加、减、abs与时间增量比较,乘以除以int此外,datetime 支持两个 datetime 对象的相减返回一个 timedelta,以及一个 datetime 和一个timedelta 的相加或相减给出一个datetime。x5=datetime.timedelta(minutes=3.0)print(x5)# 结果显示0:03:00x5x=x_today - x_utcnow #两个 datetime 对象的相减返回一个 timedeltaprint(x_today)# 结果显示2021-11-13 10:44:10.671427print(x_utcnow)# 结果显示2021-11-13 02:44:10.671427print(x5x)# 结果显示8:00:00x5x_x=x_today + x5x + x5x + x5xprint(x5x_x)# 结果显示2021-11-14 12:48:36.736688print(datetime.MAXYEAR) # 获取最大年份# 结果显示9999print(datetime.MINYEAR) # 获取最小年份# 结果显示0001#------------------tzinfo类(时区)信息操作---------------------#datetime class tzinfo时区信息类的抽象基类。这是一个抽象基类,也就是说该类不应被直接实例化。 请定义 tzinfo 的子类来捕获有关特定时区的信息。子类必须覆盖 name()、utcoffset() 和 dst() 方法。# -----------timezone类---------------## datetime 模块提供了 timezone,这是 tzinfo 的一个简单实体子类print(datetime.timezone.max)# 结果显示UTC+23:59print(datetime.timezone.min)# 结果显示UTC-23:59print(datetime.timezone.utc)# 结果显示UTC
3、日期格式代码如下:
%a Weekday,短版本
%A Weekday,完整版本
%w Weekday,数字 0-6,0 为周日
%d 日,数字 01-31
%b 月名称,短版本
%B 月名称,完整版本
%m 月,数字01-12
%y 年,短版本,无世纪
%Y 年,完整版本
%H 小时,00-23
%I 小时,00-12
%p AM/PM
%M 分,00-59
%S 秒,00-59
%f 微妙,000000-999999
%z UTC 偏移
%Z 时区
%j 天数,001-366
%U 周数,每周的第一天是周日,00-53
%W 周数,每周的第一天是周一,00-53
%c 日期和时间的本地版本
%x 日期的本地版本
%X 时间的本地版本
%% A % character
希望以上的总结对你有帮助!!!
上一篇:OPPOr9发烫怎么办
下一篇:sp曼陀庄园的故事200字-
发表评论