您当前的位置:首页 >> 工业物联
工业物联

Python 中的 datetime 模组

发布时间:2025-09-28

ow, ', tomorrow:', tomorrow print 'timetuple:', now.timetuple print 'weekday:', now.weekday print 'isoweekday:', now.isoweekday print 'isocalendar:', now.isocalendar print 'isoformat:', now.isoformat # # 正因如此 结果 正因如此 # now: 2010-04-06 , tomorrow: 2010-04-07 # timetuple: (2010, 4, 6, 0, 0, 0, 1, 96, -1) # weekday: 1 # isoweekday: 2 # isocalendar: (2010, 14, 2) # isoformat: 2010-04-06

date 还对某些操纵来进行了重载,它准许我们对日前来进行如下一些操纵:

date2 = date1 + timedelta # 日前欠缺一个每隔,回到一个新日前;也(timedelta将在请注意到介绍,指出时间段每隔) date2 = date1 - timedelta # 日前隔去每隔,回到一个新日前;也 timedelta = date1 - date2 # 两个日前标号,回到一个时间段每隔;也 date1 < date2 # 两个日前来进行来得

注:对日前来进行操纵时,要避免日前多于它所能指出的全域。

适用事例 now = date.today tomorrow = now.replace(day = 7) delta = tomorrow - now print 'now:', now, ' tomorrow:', tomorrow print 'timedelta:', delta print now + delta print tomorrow> now # # 正因如此 结果 正因如此 # now: 2010-04-06 tomorrow: 2010-04-07 # timedelta: 1 day, 0:00:00 # 2010-04-07 # True time 类

time 类指出时间段,由时、分、秒以及微秒构成。time 类的返回值如下:

class datetime.time(hour[, minute[, second[, microsecond[, tzinfo]]]]) :各模板的意义不作推论,这里留意一下模板tzinfo,它指出美东信息。注意到一下各模板的取值全域:hour的全域为[0, 24),minute的全域为[0, 60),second的全域为[0, 60),microsecond的全域为[0, 1000000)。

time 类判别的类本体 time.min、time.max:time类所能指出的最大者、远超过时间段。其中都,time.min = time(0, 0, 0, 0), time.max = time(23, 59, 59, 999999); time.resolution:时间段的最大者计量,这里是1微秒; time 类提供者的举例来说作法和本体 time.hour、time.minute、time.second、time.microsecond:时、分、秒、微秒; time.tzinfo:美东信息; time.replace([hour[, minute[, second[, microsecond[, tzinfo]]]]]):创立一个新时间段;也,用模板指定的时、分、秒、微秒代替原先;也中都的本体(原先;也仍依然不变); time.isoformat:回到型如"HH:MM:SS"播放器的运算符指出; time.strftime(fmt):回到自判别播放器化运算符。在请注意到简略介绍; 适用事例 from datetime import * tm = time(23, 46, 10) print 'tm:', tm print 'hour: %d, minute: %d, second: %d, microsecond: %d' / % (tm.hour, tm.minute, tm.second, tm.microsecond) tm1 = tm.replace(hour = 20) print 'tm1:', tm1 print 'isoformat:', tm.isoformat # # 正因如此 结果 正因如此 # tm: 23:46:10 # hour: 23, minute: 46, second: 10, microsecond: 0 # tm1: 20:46:10 # isoformat: 23:46:10 像date一样,也可以对两个time;也来进行来得,或者标号回到一个时间段每隔;也。这里就不提供者事例了。

datetime 是 date 与 time 的;还有,之外 date 与 time 的所有信息。它的返回值如下:datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]),各模板的意涵与 date、time 的返回值中都的一样,要注意到模板值的全域。

datetime 类判别的类本体与作法:

datetime.min、datetime.max:datetime所能指出的零点与远超过值; datetime.resolution:datetime最大者计量; datetime.today:回到一个指出当前本地时间段的datetime;也; datetime.now([tz]):回到一个指出当前本地时间段的datetime;也,如果提供者了模板tz,则借助tz模板所指美东的本地时间段; datetime.utcnow:回到一个当前utc时间段的datetime;也; datetime.fromtimestamp(timestamp[, tz]):根据时间段绝创立一个datetime;也,模板tz指定美东信息; datetime.utcfromtimestamp(timestamp):根据时间段绝创立一个datetime;也; datetime.combine(date, time):根据date和time,创立一个datetime;也; datetime.strptime(date_string, format):将播放器运算符反转为datetime;也; 适用事例 from datetime import * import time print 'datetime.max:', datetime.max print 'datetime.min:', datetime.min print 'datetime.resolution:', datetime.resolution print 'today:', datetime.today print 'now:', datetime.now print 'utcnow:', datetime.utcnow print 'fromtimestamp(tmstmp):', datetime.fromtimestamp(time.time) print 'utcfromtimestamp(tmstmp):', datetime.utcfromtimestamp(time.time) # 正因如此 结果 正因如此 # datetime.max: 9999-12-31 23:59:59.999999 # datetime.min: 0001-01-01 00:00:00 # datetime.resolution: 0:00:00.000001 # today: 2010-04-07 09:48:16.234000 # now: 2010-04-07 09:48:16.234000 # utcnow: 2010-04-07 01:48:16.234000 # 中都国位于+8时间段,与本地时间段相差8 # fromtimestamp(tmstmp): 2010-04-07 09:48:16.234000 # utcfromtimestamp(tmstmp): 2010-04-07 01:48:16.234000

datetime 类提供者的举例来说作法与本体(很多本体或作法在date和time中都已经出现过,在此有类似的意义,这里只罗列这些作法名,具体意涵取而代之逐个展开介绍,可以参考举例对 date 与 time 类的介绍。):

datetime.year、month、day、hour、minute、second、microsecond、tzinfo: datetime.date:借助date;也; datetime.time:借助time;也; datetime.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]): datetime.timetuple datetime.utctimetuple datetime.toordinal datetime.weekday datetime.isocalendar datetime.isoformat([sep]) datetime.ctime:回到一个日前时间段的C播放器运算符,等效于time.ctime(time.mktime(dt.timetuple)); datetime.strftime(format)

像 date 一样,也可以对两个 datetime ;也来进行来得,或者标号回到一个时间段每隔;也,或者日前时间段欠缺一个每隔回到一个新日前时间段;也。这里不提供者简略的事例,看客自己动手试一下~~

播放器运算符

datetime、date、time 都提供者了 strftime 作法,该作法分派一个播放器运算符,输出日前时间段的运算符指出。下表就是指 python 书籍中都拉过来的,我对些来进行了简单的翻译。

播放器字符 意义

%a两星期的首字母。如 两星期三为Web %A两星期的全写。如 两星期三为Wednesday %b同一月的首字母。如4同一月为Apr %B同一月的全写。如4同一月为April %c: 日前时间段的运算符指出。(如: 04/07/10 10:43:39) %d: 日在这个同月中都的整年(是这个同月的第几天) %f: 微秒(全域[0,999999]) %H: 两星期(24两星期采行,[0, 23]) %I: 两星期(12两星期采行,[0, 11]) %j: 日在年中都的整年 [001,366](是去年的第几天) %m: 同一月([01,12]) %M: 分钟([00,59]) %p: AM或者PM %S: 秒(全域为[00,61],为什么不是[00, 59],参考python书籍~_~) %U: 周在去年的周数去年的第同月里),两星期天作为周的第一天 %w: 现在在这周的整年,全域为[0, 6],6指出两星期天 %W: 周在去年的周数(是去年的第同月里),两星期一作为周的第一天 %x: 日前运算符(如:04/07/10) %X: 时间段运算符(如:10:43:39) %y: 2个小数指出的年月 %Y: 4个小数指出的年月 %z: 与utc时间段的每隔 (如果是本地时间段,回到空运算符) %Z: 美东名称(如果是本地时间段,回到空运算符) %%: %% => %

事例 dt = datetime.now print '(%Y-%m-%d %H:%M:%S %f): ', dt.strftime('%Y-%m-%d %H:%M:%S %f') print '(%Y-%m-%d %H:%M:%S %p): ', dt.strftime('%y-%m-%d %I:%M:%S %p') print '%%a: %s ' % dt.strftime('%a') print '%%A: %s ' % dt.strftime('%A') print '%%b: %s ' % dt.strftime('%b') print '%%B: %s ' % dt.strftime('%B') print '日前时间段%%c: %s ' % dt.strftime('%c') print '日前%%x:%s ' % dt.strftime('%x') print '时间段%%X:%s ' % dt.strftime('%X') print '现在是这周的第%s天 ' % dt.strftime('%w') print '现在是月份的第%s天 ' % dt.strftime('%j') print '今周是月份的第%s周 ' % dt.strftime('%U') # # 正因如此 结果 正因如此 # (%Y-%m-%d %H:%M:%S %f): 2010-04-07 10:52:18 937000 # (%Y-%m-%d %H:%M:%S %p): 10-04-07 10:52:18 AM # %a: Wed # %A: Wednesday # %b: Apr # %B: April # 日前时间段%c: 04/07/10 10:52:18 # 日前%x:04/07/10 # 时间段%X:10:52:18 # 现在是这周的第3天 # 现在是月份的第097天 # 今周是月份的第14周

这些就是 datetime 组件的整体内容。

肌肉拉伤怎么治疗
干燥综合症用海露滴眼液能缓解吗
腹泻药的成分有哪些

上一篇: 博道看市 | 乌俄冲突不冲击A股企稳,回调是布局机会

下一篇: 拒绝诱惑 反诈自然史

友情链接