python中time模块和datetime模块的使用方法及相关技巧

1.time模块:Unix 纪元时间戳(time 模块中使用)是一个浮点值或整型值,表示自 1970 年1 月 1 日午夜 0 点(UTC)以来的
秒数。
2. time.time()函数返回一个浮点值,表示当前时刻的 Unix 纪元时间戳。对time.time()函数使用round()函数可留取想要的时间小
数点位数。
3. time.sleep(seconds)函数让程序暂停 seconds 参数指定的秒数。这里的seconds可以是整数,也可以使浮点数。time.sleep()函
数将阻塞(也就是说,它不会返回或让程序执行其他代码),直到传递给 time.sleep()的秒数流逝。在集成开发环境中
(例如IDLE)按 Ctrl-C不会中断 time.sleep()调用。 IDLE 会等待到暂停结束,再抛出 KeyboardInterrupt 异常。要绕过这个问题
,不要用一次 time.sleep(30)调用来暂停 30 秒,而是使用 for 循环执行 30 次 time.sleep(1)调用。例如:
for i in range(30):
time.sleep(1)
4. time 模块用于取得 Unix 纪元时间戳,并加以处理。但如果以更方便的格式显示日期,或对日期进行算术运算就应该使用
datetime 模块。datetime 模块有自己的 datetime 数据类型。 datetime 值表示一个特定的时刻。datetime 对象(属于
datetime 模块)包含一些整型值,保存在 year、 month、 day、hour、 minute 和 second 等属性中。
5. datetime.datetime(year, month, day, hour, minute, second)函数返回参数指定的时刻的 datetime 对象。如果没有提供
hour、minute 或 second 参数,它们默认为 0。
6. 调用 datetime.datetime.now()返回一个 datetime 对象,表示当前的日期和时间,根据你的计算机的时钟。这个对象包含
当前时刻的年、月、日、时、分、秒和微秒。
7. datetime.datetime.fromtimestamp(epoch)函数返回 epoch 时间戳参数(例如epoch=time.time())表示的时刻的
datetime 对象。
8. timedelta 对象(属于 datetime 模块)表示的一段时间,而不是一个特定的时刻。
datetime.timedelta(weeks, days, hours, minutes, seconds, milliseconds, microseconds)函数返回一个表示一段时间的
timedelta 对象。该函数的关键字参数都是可选的,不包括 month 或 year。例如调用语句
delta=datetime.timedelta(days=11, hours=10, minutes=9, seconds=8)。timedelta 对象拥有days、 seconds 和
microseconds 属性,但不含有hours, minutes属性。timedelta对象具有total_seconds()方法,其返回只以秒表示的总时间。
将一个timedelta 对象传入 str(),将返回格式良好的、人类可读的字符串表示。例如对上述结果调用str(delta)则返回
‘11 days, 10:09:08’。
9. 算术运算符可以用于对 datetime 值和timedelta值进行日期运算。利用+和-运算符, timedelta 对象与 datetime 对象
或其他 timedelta 对象相加或相减,可以用于计算某时刻经过一段时间后的具体时刻。利用*和/运算符, timedelta 对象可以乘
以或除以整数或浮点数。例如下列语句:
oct21st = datetime.datetime(2015, 10, 21, 16, 29, 0)
aboutThirtyYears = datetime.timedelta(days=365 * 30)
oct21st - (2 * aboutThirtyYears)
上述语句返回结果为:datetime.datetime(1955, 11, 5, 16, 29)
10. 暂停直至特定日期:time.sleep()方法可以暂停程序若干秒。利用一个 while 循环,可以让程序暂停,直到一个特定的日期。
例如调用下列语句:
import datetime, time
halloween2016 = datetime.datetime(2016, 10, 31, 0, 0, 0)
while datetime.datetime.now() < halloween2016:
time.sleep(1)
11. Unix 纪元时间戳和 datetime 对象对人类来说都不是很友好可读。利用 strftime()方法,可以将 datetime 对象显示为字符串。
对datetime对象调用strftime(format)方法其返回一个字符串,用 format 字符串中的定制格式来表示datetime 对象表示的
时间。例如下列语句:
oct21st = datetime.datetime(2015, 10, 21, 16, 29, 0)
oct21st.strftime(’%Y/%m/%d %H:%M:%S’)
其将返回结果为:‘2015/10/21 16:29:00’
12. 与strftime()方法相反,datetime.datetime.strptime(time_string, format)函数返回一个 datetime 对象,它的
时刻由 time_string 指定,利用 format 字符串参数来解析。例如下列语句:
datetime.datetime.strptime(‘2015/10/21 16:29:00’, ‘%Y/%m/%d %H:%M:%S’)
其将返回结果为:datetime.datetime(2015, 10, 21, 16, 29)

你可能感兴趣的:(学习笔记)