Python基础014--日期格式化、时间戳和时间的转换
日期格式化、时间戳和时间的转换
- 日期格式化
- python中日期格式化符号
表达式 | 意义 |
---|---|
%y | 两位数的年份表示(00-99) |
%Y | 四位数的年份表示(000-9999) |
%m | 月份(01-12) |
%d | 月内的一天(0-31) |
%H | 24小时制小时数(0-23) |
%I | 12小时制小时数(0-12) |
%M | 分钟数(00-59) |
%S | 秒(00-59) |
%a | 本地简化星期名称 |
%A | 本地完整星期名称 |
%b | 本地简化的月份名称 |
%B | 本地完整的月份名称 |
%c | 本地相应的日期表示和时间表示 |
%j | 年内的一天(001-366) |
%p | 本地A.M或者P.M的等价符 |
%U | 一年中的星期数(00-53)星期天为星期的开始 |
%w | 一个星期(0-6),星期天为星期的开始 |
%x | 本地相应的日期表示 |
%X | 本地相应的时间表示 |
%Z | 当前时区的名称 |
%% | %本身 |
- 常用的time模块中的内置函数
函数表达式 | 含义 |
---|---|
time.asctime([tupletime]) | 接受时间元组并返回一个可读的形式"Tue Dec 11 18:07:14 2008" (2008年12年12月12日周二18时07分14秒)的24个字符的字符串 |
time.clock() | 用以浮点数计算的秒数返回当前的CPU时间;用来衡量不同程序的耗时,比time.time()更有用 |
time.localtime([secs]) | 接收时间戳并返回当地时间下的时间元组t |
time.mktime(tupletime) | 接收时间元组并返回时间戳 |
time.sleep(secs) | 推迟调用线程的运行,secs指秒数 |
time.strftime(fmt[.tupletime]) | 接收一个时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定 |
time.strptime(str.fmt='%a %b %d %H:%M:%S %Y') | 根据fmt的格式把一个时间字符串解析为时间元组 |
time.time() | 返回当前时间的时间戳 |
time.ctime() | 将一个时间戳转换为一个时间的字符串 |
# time.time()# 返回当前时间的时间戳
In [217]: import time
In [218]: time.time()
Out[218]: 1518166671.059755# time.asctime([tupletime])# 接收一个时间元组,返回一个可读形式的24个字符的字符串
In [221]: time.asctime(time.localtime(time.time()))# 获取本地时间
Out[221]: 'Fri Feb9 17:02:45 2018'In [225]: time.localtime(time.time())
Out[225]: time.struct_time(tm_year=2018, tm_mon=2, tm_mday=9, tm_hour=17, tm_min=17, tm_sec=58, tm_wday=4, tm_yday=40, tm_isdst=0)
In [226]: t = time.localtime(time.time())
In [227]: time.asctime(t)
Out[227]: 'Fri Feb9 17:19:06 2018'# time.localtime([secs])# 接收时间戳返回本地时间元组,然后用asctime函数做时间格式转换
In [229]: t = time.time()
In [230]: print t
1518168389.46
In [231]: m = time.localtime(t)
In [232]: print m
time.struct_time(tm_year=2018, tm_mon=2, tm_mday=9, tm_hour=17, tm_min=26, tm_sec=29, tm_wday=4, tm_yday=40, tm_isdst=0)
In [233]: lt = time.asctime(m)
In [234]: print lt
Fri Feb9 17:26:29 2018# time.mktime(tupletime)# 接收时间元组并返回时间戳
In [235]: m
Out[235]: time.struct_time(tm_year=2018, tm_mon=2, tm_mday=9, tm_hour=17, tm_min=26, tm_sec=29, tm_wday=4, tm_yday=40, tm_isdst=0)
In [236]: time.mktime(m)
Out[236]: 1518168389.# time.strftime(fmt[.tupletime])# 接收一个时间组,返回指定的本地时间
In [8]: t
Out[8]: time.struct_time(tm_year=2018, tm_mon=2, tm_mday=10, tm_hour=8, tm_min=29, tm_sec=32, tm_wday=5, tm_yday=41, tm_isdst=0)
In [10]: time.strftime("%Y-%m-%d %H:%M:%S",t)
Out[10]: '2018-02-10 08:29:32'
In [11]: time.strftime("%Y-%m-%d %H:%M:%S %j",t)
Out[11]: '2018-02-10 08:29:32 041'
In [12]: time.strftime("%Y-%m-%d %H:%M:%S %p",t)
Out[12]: '2018-02-10 08:29:32 AM'
In [13]: time.strftime("%Y-%m-%d %H:%M:%S %p %w",t)
Out[13]: '2018-02-10 08:29:32 AM 6'
In [14]: time.strftime("%Y-%m-%d %H:%M:%S %p %w %b",t)
Out[14]: '2018-02-10 08:29:32 AM 6 Feb'
In [15]: time.strftime("%Y-%m-%d %H:%M:%S %p %w %B",t)
Out[15]: '2018-02-10 08:29:32 AM 6 February'
In [16]: time.strftime("%X",t)
Out[16]: '08:29:32'
In [17]: time.strftime("%x %X",t)
Out[17]: '02/10/18 08:29:32'
In [18]: time.strftime("%x %X %z",t)
Out[18]: '02/10/18 08:29:32 +0000'# time.ctime([secs])# 接收一个时间戳返回一个指定格式的字符串
In [19]: mm = time.time()
In [20]: time.ctime(mm)
Out[20]: 'Sat Feb 10 08:44:37 2018'
In [21]: print mm
1518223477.63# time.strptime(fmt)# 根据fmt格式把时间字符串转换为时间元组
In [24]: time.strptime("10 2 2018", "%d %m %Y")
Out[24]: time.struct_time(tm_year=2018, tm_mon=2, tm_mday=10, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=41, tm_isdst=-1)In [34]: time.strptime("10 2 2018 8 58 30", "%d %m %Y %H %M %S")
Out[34]: time.struct_time(tm_year=2018, tm_mon=2, tm_mday=10, tm_hour=8, tm_min=58, tm_sec=30, tm_wday=5, tm_yday=41, tm_isdst=-1)
推荐阅读
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- Python基础|Python基础 - 练习1
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- Python(pathlib模块)
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则
- Java|Java基础——数组
- Python数据分析(一)(Matplotlib使用)