python时间处理(一)Time

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DataCastle/article/details/84250385

平常的工作与学习中,会遇到许许多多与时间相关的问题,例如时间戳,时间格式化等等。所以今天就带大家了解一下python中处理时间的模块,time,更多的是希望大家不在坑里反复循环的进去出来,相信大家都比我聪明 -_ -...

首先,获取当前时间以下代码默认导入time模块,不再重复

import time 

time.time()
#获取当前时间戳:1542610928.524562

time.localtime(time.time())
#获取当前时间:将时间戳转换为时间元组
#time.struct_time(tm_year=2018, tm_mon=11, tm_mday=19, tm_hour=15, tm_min=2, tm_sec=8, tm_wday=0, tm_yday=323, tm_isdst=0)

struct_time(时间元组)中各部分的含义如下表格所示:

属性
tm_year 2018
tm_mon 11(1 到 12)
tm_mday 19(1 到 31)

tm_hour

15(0 到 23)

tm_min 2(0 到 59)
tm_sec 8(0 到 61 ,60或61 是闰秒)
tm_wday 0(0到6,0是周一)
tm_yday 323(1 到 366(儒略历))
tm_isdst 0(-1, 0, 1, -1是决定是否为夏令时的旗帜)
 

获取格式化时间

  • asctime方法:直接获取可读的时间格式
time.asctime( time.localtime(time.time()))
#'Mon Nov 19 15:21:20 2018'
  • strftime方法:获取自定义格式的时间,获取对象为时间元组
time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
#'Mon Nov 19 15:39:28 2018' #与asctime()方法获取的结果格式一致

time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 
#'2018-11-19 15:36:50'

时间日期格式化符号如下表所示:

%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)

%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 当前时区的名称

%% %号本身

将格式字符串转换为时间戳:(上面通过time.localtime将时间戳转换为时间元组,这里是逆过程)

  • time.mktime(time.strptime())

其中strptime()根据字符串对应的时间格式把一个时间字符串解析为时间元组。

a ='Mon Nov 19 15:21:20 2018'
time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))
#时间戳为:1542612080.0

 Time模块的其他重要函数:

  • time.sleep(),time.timezone
time.sleep(secs)
#推迟调用程序的运行,secs指秒数。

time.timezone
#显示当地时区(未启动夏令时)距离格林威治的偏移秒数(>0,美洲;<=0大部分欧洲,亚洲,非洲)。

内容不多,目的是想让大家明确如何将时间与时间戳来回转换,并且中间需要时间元组进行过渡,明白了这一点就ok了。

猜你喜欢

转载自blog.csdn.net/DataCastle/article/details/84250385