在Python 中,日期和时间可能涉及好几种不同的数据类型和函数。下面回顾了表示时间的3 种不同类型的值:
Unix纪元时间戳(time模块中使用)是一个浮点值或整型值,表示自 1970年1月 1日午夜 0点(UTC)以来的秒数。
datetime 对象(属于datetime 模块)包含一些整型值,保存在 year、 month、 day、hour、minute 和second等属性中。
timedelta 对象(属于datetime模块)表示的一段时间,而不是一个特定的时刻。
下面回顾了时间函数及其参数和返回值:
time.time()函数返回一个浮点值,表示当前时刻的Unix纪元时间戳。
time.sleep(seconds)函数让程序暂停 seconds参数指定的秒数。
datetime.datetime(year, month, day, hour, minute, second)函数返回参数指定的时刻的datetime 对象。如果没有提供 hour、 minute或 second 参数,它们默认为0。
datetime.datetime.now()函数返回当前时刻的 datetime对象。
datetime.datetime.fromtimestamp(epoch)函数返回 epoch 时间戳参数表示的时刻的datetime 对象。
datetime.timedelta(weeks, days, hours, minutes, seconds, milliseconds, microseconds)函数返回一个表示一段时间的 timedelta 对象。该函数的关键字参数都是可选的,不包括month 或year。
total_seconds()方法用于timedelta 对象,返回timedelta对象表示的秒数。
strftime(format)方法返回一个字符串,用 format 字符串中的定制格式来表示datetime 对象表示的时间。详细格式参见表15-1。
datetime.datetime.strptime(time_string, format)函数返回一个 datetime对象,它的时刻由time_string指定,利用format字符串参数来解析。详细格式参见表15-1。
表 15-1 strftime()指令
strftime 指令 含义
%Y 带世纪的年份,例如'2014'
%y 不带世纪的年份,'00'至'99'(1970至 2069)
%m 数字表示的月份, '01'至'12'
%B 完整的月份,例如'November'
%b 简写的月份,例如'Nov'
%d 一月中的第几天,'01'至'31'
%j 一年中的第几天,'001'至'366'
%w 一周中的第几天,'0'(周日)至'6'(周六)
%A 完整的周几,例如'Monday'
%a 简写的周几,例如'Mon'
%H 小时(24 小时时钟),'00'至'23'
%I 小时(12 小时时钟),'01'至'12'
%M 分,'00'至'59'
%S 秒,'00'至'59'
%p 'AM'或'PM'
%% 就是'%'字符