时间戳
返回 1970年后至今的 float 类型的秒值
1
2
3
> import time
> time.time()
1493128615.901287
本地时间
本地时区的时间,对于中国大陆为 +8 时区
1
2
3
4
5
6
7
8
9
> import time
# 现在本地时间
> time.localtime()
time.struct_time(tm_year=2017, tm_mon=4, tm_mday=25, tm_hour=22, tm_min=0, tm_sec=39, tm_wday=1, tm_yday=115, tm_isdst=0)
# 指定时间戳的本地时间
> time.localtime(1493128615)
time.struct_time(tm_year=2017, tm_mon=4, tm_mday=25, tm_hour=21, tm_min=56, tm_sec=55, tm_wday=1, tm_yday=115, tm_isdst=0)
格林尼治时间
格林尼治时间 近似等同 世界协调时间,也即 UTC 0 时区的时间,这里看作一样处理。
1
2
3
4
5
6
7
8
9
> import time
# 现在格林尼治时间
> time.gmtime()
time.struct_time(tm_year=2017, tm_mon=4, tm_mday=25, tm_hour=14, tm_min=0, tm_sec=46, tm_wday=1, tm_yday=115, tm_isdst=0)
# 指定时间戳的格林尼治时间
> time.gmtime(1493128615)
time.struct_time(tm_year=2017, tm_mon=4, tm_mday=25, tm_hour=13, tm_min=56, tm_sec=55, tm_wday=1, tm_yday=115, tm_isdst=0)
本地时区
1
2
3
> import time
> time.timezone
-28800
单位为s,中国大陆为-28800,即-8*3600
时间编辑
时间构造
1
2
3
4
> import time
> t=(2017,4,12,17,3,48,2,48,0)
> time.mktime(t)
1491987828.0
时间增减
datetime.timedelta()
的参数可为days
、hours
、minutes
、seconds
1
2
3
# 往后10天
> datetime.datetime.now() + datetime.timedelta(days=10)
datetime.datetime(2017, 5, 5, 23, 41, 56, 378790)
time 转字符串
1
2
3
4
5
6
7
8
> import time
# 将当前时间格式化
> time.strftime('%Y-%m-%d %H:%M:%S')
'2017-04-25 12:21:13'
# 将指定时间格式化
# t为time类型
time.strftime('%Y-%m-%d %H:%M:%S',t)
字符串转 time
1
2
3
> import time
> time.strptime('2017-04-25 15:56:45','%Y-%m-%d %H:%M:%S')
time.struct_time(tm_year=2017, tm_mon=4, tm_mday=25, tm_hour=15, tm_min=56, tm_sec=45, tm_wday=1, tm_yday=115, tm_isdst=-1)
时间戳转 date
1
2
> datetime.date.fromtimestamp(1493128615.901287)
datetime.date(2017, 4, 25)
时间戳转 datetime
1
2
3
> import datetime
> datetime.datetime.fromtimestamp(1493128615.901287)
datetime.datetime(2017, 4, 25, 21, 56, 55, 901287)
现在
现在时间
1
2
3
> import datetime
> datetime.datetime.now()
datetime.datetime(2017, 4, 25, 22, 57, 36, 644025)
现在日期
1
2
3
4
5
> import datetime
> datetime.datetime.today()
datetime.date(2017, 4, 25)
> datetime.datetime.now().date()
datetime.date(2017, 4, 25)
现在年份
1
2
3
4
> import datetime
> t=datetime.datetime.now()
> t.year
2017
现在月份
1
2
3
4
> import datetime
> t=datetime.datetime.now()
> t.month
4
现在日
1
2
3
4
> import datetime
> t=datetime.datetime.now()
> t.day
25
现在小时
1
2
3
4
> import datetime
> t=datetime.datetime.now()
> t.hour
23
现在分
1
2
3
4
> import datetime
> t=datetime.datetime.now()
> t.miute
17
现在秒
1
2
3
4
> import datetime
> t=datetime.datetime.now()
> t.second
33
附:时间占位符
%y
两位数的年份表示(00-99)%Y
四位数的年份表示(000-9999)%m
月份(01-12)%d
月内中的一天(01-31)%H
24小时制小时数(00-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
当前时区的名称%%
%号本身