1. time
1.1 time
- Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。
时间间隔是以秒为单位的浮点小数。 - 时间戳格式——单位是秒,给计算机用的print(time.time()) time_now = time.time()
- 每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。
- Python 的 time 模块下有很多函数可以转换常见日期格式。如函数time.time()用于获取当前时间戳, 如下实例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import time # 引入time模块
ticks = time.time()
print ("当前时间戳为:", ticks)
--------------------------------
output: 当前时间戳为: 1459994552.51
1.2 struct_time 时间元组
上述也就是struct_time元组。这种结构具有如下属性:
序号 | 属性 | 值 |
---|---|---|
00 | tm_year | 2008 |
01 | tm_mon | 1 到 12 |
02 | tm_mday | 1 到 31 |
03 | tm_hour | 0 到 23 |
04 | tm_min | 0 到 59 |
05 | tm_sec | 0 到 61 (60或61 是闰秒) |
06 | tm_wday | 0到6 (0是周一) |
07 | tm_yday | 1 到 366(儒略历) |
08 | tm_isdst | -1, 0, 1, -1是决定是否为夏令时的旗帜 |
- 获取当前时间
从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如localtime之类的函数。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import time
localtime = time.localtime(time.time())
print ("本地时间为 :", localtime)
-----------------------
output:本地时间为 : time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=3, tm_sec=27, tm_wday=3, tm_yday=98, tm_isdst=0)
1.3 asctime 获取格式化的时间
我们可以使用 time 模块的 strftime 方法来格式化日期,:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import time
localtime = time.asctime( time.localtime(time.time()) )
print ("本地时间为 :", localtime)
-----------------------
output: 本地时间为 : Thu Apr 7 10:05:21 2016
2 transform
- #第一种:时间戳—》结构化时间—》格式化时间 time.time()->time.localtime()/gmtime()->time.strftime()
- #第二种:格式化时间->结构化时间->时间戳时间 time.strptime()->time.mktime()->time.time()
我们可以使用 time 模块的 strftime 方法来格式化日期,:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import time
# 格式化成2016-03-20 11:45:39形式
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
# 格式化成Sat Mar 28 22:24:24 2016形式
print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
# 将格式字符串转换为时间戳
a = "Sat Mar 28 22:24:24 2016"
print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))
-------------------------------
2016-04-07 10:25:09
Thu Apr 07 10:25:09 2016
1459175064.0