1、时间戳
时间戳表示从1970年1月1日0时0分到现在经过了多少秒.
2、时间格式化符号
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00-59)
%S 秒(00-59)
%f 毫秒(000000-999999
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
3、函数
time模块
(1)time() 返回时间戳
#-*-coding:utf-8-*-
import time
print('当前时间戳',time.time())
>>>当前时间戳 1541743619.1215513
(2)localtime() 格式化时间戳,如未添加任何时间,显示当前时间
gmtime() 将时间戳转化为0时区时间
#-*-coding:utf-8-*-
import time
print('当前时间',time.localtime())
print('当前时间',time.gmtime())
>>>当前时间 time.struct_time(tm_year=2018, tm_mon=11, tm_mday=9, tm_hour=14, tm_min=56, tm_sec=20, tm_wday=4, tm_yday=313, tm_isdst=0)
>>>当前时间 time.struct_time(tm_year=2018, tm_mon=11, tm_mday=9, tm_hour=6, tm_min=56, tm_sec=20, tm_wday=4, tm_yday=313, tm_isdst=0)
(3)time.mktime(t) 将时间转化成时间戳
#-*-coding:utf-8-*-
import time
t=(2018,11,9,15,12,2,5,49,52)
print('当前时间',time.mktime(t))
>>>当前时间 1541747522.0
(4)asctime() 返回固定格式日期,例: Fri Nov 9 15:17:10 2018 星期 月 日 时 分 秒 年
ctime() 把时间搓转化为asctime()格式
#-*-coding:utf-8-*-
import time
print('当前时间',time.asctime())
print(time.ctime(1541745619.1215513))
>>>当前时间 Fri Nov 9 15:34:12 2018
>>>Fri Nov 9 14:40:19 2018
(5)time.sleep(secs) 程序停止运行(秒)
time.clock() 统计cpu时间间隔,比time.time()更精准
#-*-coding:utf-8-*-
import time
t1 = time.clock()
time.sleep(1)
print('process time A:',time.clock()-t1)
t2=time.time()
time.sleep(1)
print('process time B:',time.time()-t2)
>>>ess time A: 0.9992612842348039
>>>cess time B: 1.0000190734863281
(6)strftime(想转化成的字符串格式,时间) 自定义格式化时间
#-*-coding:utf-8-*-
import time
print(time.strftime('%Y.%m.%d %H:%M:%S',time.localtime()))
>>> 2018.11.09 16:08:57
(7)strptime(时间字符串,字符串格式)
将指定格式日期转化为元组(localtime时的日期格式)
#-*-coding:utf-8-*-
import time
print(time.strptime('9 Nov 18 17:50:30','%d %b %y %H:%M:%S'))
>>>time.struct_time(tm_year=2018, tm_mon=11, tm_mday=9, tm_hour=17, tm_min=50, tm_sec=30, tm_wday=4, tm_yday=313, tm_isdst=-1)
datetime模块
datetime.date 表示日期的类
datetime.time 表示时间的类
datetime.timedelta 表示时间间隔的类
datetime.tzinfo 与时区有关的类
datetime.datetime 表示日期时间的类
(1)today() 返回当前本地时间
#-*-coding:utf-8-*-
import datetime
print(datetime.datetime.today())
>>>2018-11-09 16:22:22.473914
(2)now([tz]) 返回当前本地时间, 如果提供了参数 tz,则获取 tz 参数所指时区的本地时间
utcnow() 返回0时区时间
例如:datetime.datetime.now(pytz.timezone('Asia/Shanghai'))
#-*-coding:utf-8-*-
import datetime
print(datetime.datetime.now())
print(datetime.datetime.utcnow())
>>>2018-11-09 17:01:37.994716
>>>2018-11-09 09:01:37.999716
(3)fromtimestamp(时间戳) 时间戳格式化为本地时间
utcfromtimestamp(时间戳) 时间戳格式化为0时区时间
#-*-coding:utf-8-*-
import datetime
print(datetime.datetime.fromtimestamp(1541743619.1215513))
print(datetime.datetime.utcfromtimestamp(1541743619.1215513))
>>>2018-11-09 14:06:59.121551
>>>2018-11-09 06:06:59.121551
(4)strptime() 将格式字符串转化为自定义格式
Strftime() 将格式字符串转化为自定义格式
#-*-coding:utf-8-*-
import datetime
dt=datetime.datetime.today()
print(dt.strptime(str(dt),'%Y-%m-%d %H:%M:%S.%f'))
print(dt.strftime('%Y-%m-%d %H:%M:%S.%f'))
>>>>2018-11-09 17:32:33.661304
>>>2018-11-09 17:32:33.661304
4、日历模块