文章目录
- time模块
- time模块的常用方法
- 结构化时间到时间戳的转化
- 结构化时间到字符串时间的转化
- 字符串时间到结构化时间的转化
- 结构化时间和字符串时间的转化(国际化时间字符串)
- 时间戳和字符串的转化(国际化)
time模块
import
time
time
.
sleep
(
[
n
]
)
# 休眠N秒
time
.
time
(
)
# 获取当前时间戳
在python中,表示时间通常的三种方式:
- 时间戳(timetamp):表示的是从1970.01.01 00:00:00 开始按秒计算的偏移量
- 格式化的时间字符串(format string)
- 结构化的时间(struct_time)—>元组 9个元素(年月日时分秒,一年的第几周,一年的第几天,夏令时)
python中时间日期格式化符号:
%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
.
strftime
(
'%Y-%m-%d %X'
)
'2019-07-26 08:56:15'
>>
>
time
.
strftime
(
'%Y-%m-%d %x'
)
'2019-07-26 07/26/19'
>>
>
time
.
localtime
(
)
time
.
struct_time
(
tm_year
=
2019
,
tm_mon
=
7
,
tm_mday
=
26
,
tm_hour
=
8
,
tm_min
=
57
,
tm_sec
=
49
,
tm_wday
=
4
,
tm_yday
=
207
,
tm_isdst
=
0
)
time模块的常用方法
方法 | 描述 |
---|---|
time.localtime([sec]) | 将一个时间戳转化为一个当前时间的结构化时间(若未提供参数,默认当前时间) |
time.gmtime([sec]) | 和localtime()类似,不同的是,它是将一个时间戳转换为UTC时区(0时区)的结构化时间 |
time.time() | 返回当前时间戳 |
time.mktime(t) | 将结构化时间转换为时间戳 |
time.sleep(sec) | 线程推迟指定的时间运行,单位s——休眠 |
time.asctime([t]) | 把表时间的元组或结构化时间表示为:‘Sun July 26 09:06:35 2019’;如果未传参数,默认为time.localtime() |
time.ctime([t]) | 把一个时间戳转化为time.asctime()的形式,如果未传参数,默认time.time() |
time.strftime(format[,t]) | 把一个代表时间的元组/struct_time(localtime()和gmtime())转化为格式化的字符串,如果未传参数,默认为time.localtime() |
time.strptime() | 将结构化字符串转化为struck_time的形式,time.strftime(format[,t])的逆操作 |
- 时间戳,计算机识别
- 字符串时间,人类可看
- 结构化时间,对时间操作
>>
>
time
.
localtime
(
)
time
.
struct_time
(
tm_year
=
2019
,
tm_mon
=
7
,
tm_mday
=
26
,
tm_hour
=
8
,
tm_min
=
57
,
tm_sec
=
49
,
tm_wday
=
4
,
tm_yday
=
207
,
tm_isdst
=
0
)
>>
>
time
.
gmtime
(
time
.
time
(
)
)
time
.
struct_time
(
tm_year
=
2019
,
tm_mon
=
7
,
tm_mday
=
26
,
tm_hour
=
1
,
tm_min
=
18
,
tm_sec
=
19
,
tm_wday
=
4
,
tm_yday
=
207
,
tm_isdst
=
0
)
>>
>
time
.
localtime
(
time
.
time
(
)
)
time
.
struct_time
(
tm_year
=
2019
,
tm_mon
=
7
,
tm_mday
=
26
,
tm_hour
=
9
,
tm_min
=
18
,
tm_sec
=
53
,
tm_wday
=
4
,
tm_yday
=
207
,
tm_isdst
=
0
)
>>
>
time
.
ctime
(
)
'Fri Jul 26 09:20:35 2019'
>>
>
time
.
strptime
(
time
.
ctime
(
)
)
time
.
struct_time
(
tm_year
=
2019
,
tm_mon
=
7
,
tm_mday
=
26
,
tm_hour
=
9
,
tm_min
=
21
,
tm_sec
=
13
,
tm_wday
=
4
,
tm_yday
=
207
,
tm_isdst
=
-
1
)
结构化时间到时间戳的转化
- time.mktime(结构化时间)
>>
>
time
.
mktime
(
time
.
localtime
(
)
)
1564104230.0
结构化时间到字符串时间的转化
- time.strftime(format[,t])
>>
>
time
.
strftime
(
'%Y-%m-%d %X'
,
time
.
localtime
(
)
)
'2019-07-26 09:26:48'
字符串时间到结构化时间的转化
- time.strptime(时间字符串,字符串对应格式)
>>
>
time
.
strptime
(
'2019/07/26'
,
'%Y/%m/%d'
)
time
.
struct_time
(
tm_year
=
2019
,
tm_mon
=
7
,
tm_mday
=
26
,
tm_hour
=
0
,
tm_min
=
0
,
tm_sec
=
0
,
tm_wday
=
4
,
tm_yday
=
207
,
tm_isdst
=
-
1
)
>>
>
time
.
strptime
(
'2019-7-26'
,
'%Y-%m-%d'
)
time
.
struct_time
(
tm_year
=
2019
,
tm_mon
=
7
,
tm_mday
=
26
,
tm_hour
=
0
,
tm_min
=
0
,
tm_sec
=
0
,
tm_wday
=
4
,
tm_yday
=
207
,
tm_isdst
=
-
1
)
>>
>
time
.
strptime
(
'2019-07-26'
,
'%Y-%m-%d'
)
time
.
struct_time
(
tm_year
=
2019
,
tm_mon
=
7
,
tm_mday
=
26
,
tm_hour
=
0
,
tm_min
=
0
,
tm_sec
=
0
,
tm_wday
=
4
,
tm_yday
=
207
,
tm_isdst
=
-
1
)
结构化时间和字符串时间的转化(国际化时间字符串)
- time.asctime(结构化时间)
>>
>
time
.
asctime
(
time
.
localtime
(
)
)
'Fri Jul 26 09:49:53 2019'
>>
>
time
.
asctime
(
)
'Fri Jul 26 09:50:05 2019'
时间戳和字符串的转化(国际化)
- time.ctime(时间戳)
>>
>
time
.
ctime
(
)
'Fri Jul 26 09:51:10 2019'
>>
>
time
.
ctime
(
time
.
time
(
)
)
'Fri Jul 26 09:51:39 2019'
>>
>
time
.
ctime
(
1500000000
)
'Fri Jul 14 10:40:00 2017'