python time,模块,时间类型转换。

python 时间类型转换,是我们经常遇到的问题,做下总结,记录一下。(目前只有time模块,有时间整理datetime)

1. 了解以下几个时间概念: 

  • Timestamp(时间戳): 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数(摘自百度百科)
  • struct_time时间元组
  • format time 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。

2. 关于time的常用方法

  • 获取当前时间,float类型
1 a_float = time.time()
2 print(a_float)
3 print(type(a_float))
  • 将时间戳类型时间转换为struct_time(时间元组) 的方法
  • time.gmtime()

1 struct = time.gmtime(a_float)

2 print(struct)

3 print(type(struct))

#time.struct_time(tm_year=2018, tm_mon=12, tm_mday=3, tm_hour=3, tm_min=32, tm_sec=45, tm_wday=0, tm_yday=337, tm_isdst=0)

#time.struct_time()参数解释:年,月,日,时,分,秒,周几(0-6,0表示周日),一年中的第几天,是否是夏令时(默认为-1)

  • time.localtime()
1 localtime = time.localtime(time.time())
2 print(localtime)
3 print(type(localtime))
  • 将struct_time(时间元组)转换为时间戳的方法
  • time.mktime()
1 tempsTime = time.mktime(localtime)
2 print(tempsTime)
3 print(type(tempsTime))
  • 将struct_time(时间元组)格式化为字符串的方法
  • time.strftime( format [, t] ) 
  • format 格式化时间字符串
  • t 可选参数,为一个struct_time对象

代码如下:

 1 #将时间元组格式化为字符串
 2 st_time = time.strftime('%Y-%m-%d',time.gmtime())
 3 print(st_time)
 4 
 5 #%X 得到当前时间
 6 local_time = time.strftime('%Y-%m-%d %X')
 7 print(local_time)
 8 print(type(local_time))
 9 
10 #返回当地日期和时间
11 t = time.strftime('%x %X')
12 print(t)
13 print(type(t))
14 #直接使用字符串拼接成为格式化时间字符串
15 tt = time.gmtime()
16 print(type(tt))
17 print(str(tt.tm_year) + '' + str(tt.tm_mon) + '' + str(tt.tm_mday) + '')
  • time.strptime(string,format) 是将一个字符串格式日期,转换为struct_time(时间元组)
  • string 日期字符串
  • format 格式化字符串‘

代码如下:

1 #创建一个时间字符串变量strtime
2 strtime = "2018-01-13 22:20:30"
3 # =============================================================================
4 # 通过strptime()函数将strtime转化成strcut_time形式,
5 # 格式参数必须的"%Y-%m-%d %H:%M:%S",且必须strtime的时间参数一一匹配
6 # =============================================================================
7 struct_tm = time.strptime(strtime,'%Y-%m-%d %H:%M:%S')
8 print(struct_tm)
9 print(type(struct_tm))

 

  • time加减主要是通过时间戳的方式进行加减
a = time.time()
b = time.time()
print(a+b)
print(b-a)

 

posted @ 2018-12-03 15:45  blankdog  阅读(3828)  评论(0编辑  收藏  举报