内置的 time 模块让 Python程序能读取系统时钟的当前时间。在 time 模块中, time.time()和 time.sleep()函数是最有用的模块。python
Unix 纪元是编程中常常参考的时间: 1970 年 1 月 1 日 0 点,即协调世界时( UTC)。 time.time()函数返回自那一刻以来的秒数,是一个浮点值(回想一下,浮点值只是一个带小数点的数)。这个数字称为 UNIX 纪元时间戳。编程
若是须要让程序暂停一下,就调用 time.sleep()函数,并传入但愿程序暂停的秒数。函数
Python 内置的 round()函数将它们缩短,该函数按照指定的精度四舍五入到一个浮点数。只要传入要舍入的数字,再加上可选的第二个参数,指明须要传入到小数点后多少位。若是省略第二个参数, round()将数字四舍五入到最接近的整数。
spa
以更方便的格式显示日期,或对日期进行算术运算(例如,搞清楚 205 天前是什么日期,或 123天后是什么日期),就应该使用 datetime 模块。code
返回一个 datetime 对象,表示当前的日期和时间,根据你的计算机的时钟。这个对象包含当前时刻的年、月、日、时、分、秒和微秒。也能够利用 datetime.datetime()函数,向它传入表明年、月、日、时、分、秒的整数,获得特定时刻的 datetime 对象。这些整数将保存在 datetime 对象的 year、month、 day、 hour、 minute 和 second属性中。对象
Unix 纪元时间戳转换为 datetime
对象。 datetime 对象的日期和时间将根据本地时区转换。字符串
datetime 模块还提供了 timedelta 数据类型,它表示一段时间,而不是一个时刻。要建立 timedelta 对象,就用 datetime.timedelta()函数。 datetime.timedelta()函数接受关键字参数 weeks、 days、 hours、 minutes、 seconds、 milliseconds 和 microseconds。没有 month 和 year 关键字参数,由于“月”和“年”是可变的时间,依赖于特定月份或年份。 timedelta 对象拥有的总时间以天、秒、微秒来表示。这些数字分别保存在 days、 seconds 和 microseconds 属性中。class
delta = datetime.timedelta(days=11, hours=10, minutes=9, seconds=8) delta.days, delta.seconds, delta.microseconds #(11, 36548, 0) delta.total_seconds() #986948.0 str(delta) #'11 days, 10:09:08'
算术运算符能够用于对 datetime 值进行日期运算。例如,要计算今天以后 1000天的日期,在交互式环境下:date
>>> dt = datetime.datetime.now() >>> dt datetime.datetime(2015, 2, 27, 18, 38, 50, 636181) >>> thousandDays = datetime.timedelta(days=1000) >>> dt + thousandDays datetime.datetime(2017, 11, 23, 18, 38, 50, 636181)
python中时间日期格式化符号:数据类型
oct21st = datetime.datetime(2015, 10, 21, 16, 29, 0) print oct21st.strftime('%Y/%m/%d %H:%M:%S') print oct21st.strftime('%I:%M %p') print oct21st.strftime("%B of '%y") #输出 #2015/10/21 16:29:00 #04:29 PM #October of '15
若是有一个字符串的日期信息,如'2015/10/21 16:29:00'或'October 21, 2015',须要将它转换为 datetime 对象,就用 datetime.datetime.strptime()函数。 strptime()函数与strftime()方法相反。定制的格式字符串使用相同的指令,像 strftime()同样。必须将格式字符串传入 strptime(),这样它就知道如何解析和理解日期字符串( strptime()函数名中 p 表示解析, parse)。
>>>datetime.datetime.strptime('October 21, 2015', '%B %d, %Y') #datetime.datetime(2015, 10, 21, 0, 0) >>> datetime.datetime.strptime('2015/10/21 16:29:00', '%Y/%m/%d %H:%M:%S') #datetime.datetime(2015, 10, 21, 16, 29) >>> datetime.datetime.strptime("October of '15", "%B of '%y") #datetime.datetime(2015, 10, 1, 0, 0)