2022年 11月 5日

python 中 日期,时间戳的转换

一,日期转换成为时间戳

1,首先需要引入模块,time ,datetime

import time ,datetime

2,把输入的字符转换成为数组

  1. # Python time strptime() 函数根据指定的格式把一个时间字符串解析为时间元组。
  2. # time.strptime(string[, format])
  3. tsl = "2016-10-10"
  4. # 转为时间数组
  5. timeArray = time.strptime(tsl, "%Y-%m-%d")
  6. #如果有精确时间,如"2016-10-10  10:10:40" 
  7. timeArray = time.strptime(ts1, "%Y-%m-%d %H:%M:%S")

其中print(timeArray)的执行结果是:

time.struct_time(tm_year=2016, tm_mon=10, tm_mday=10, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=284, tm_isdst=-1)

print(timeArray.tm_year) 的执行结果是  2016

3,把时间转换为时间戳
 

  1. # 转为时间戳
  2. //mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0 秒算起至今的时间所经过的秒数。
  3. timeStamp = int(time.mktime(timeArray))
print(timeStamp)的执行结果为  1476028800

二,时间戳转换成为日期

1,同样使用模块 time ,datetime

使用time 

  1. timeStamp = 1381419600
  2. timeArray = time.localtime(timeStamp)
  3. otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
  4. print otherStyleTime # 2013--10--10 23:40:00
  5. #localtime() 函数返回本地时间(一个数组)。
  6. #localtime() 的第一个参数是时间戳,如果没有给出则使用从 time() 返回的当前时间。

使用datetime

  1. timeStamp = 1381419600
  2. dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
  3. otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
  4. print otherStyleTime # 2013--10--10 15:40:00

三,更改时间显示的格式

  1. tss2 = "2013-10-10 23:40:00"
  2. # 转为数组
  3. timeArray = time.strptime(tss2, "%Y-%m-%d %H:%M:%S")
  4. # 转为其它显示格式
  5. otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
  6. print otherStyleTime # 2013/10/10 23:40:00
  7. tss3 = "2013/10/10 23:40:00"
  8. timeArray = time.strptime(tss3, "%Y/%m/%d %H:%M:%S")
  9. otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
  10. print otherStyleTime # 2013-10-10 23:40:00

四,获取当前时间并用指定格式显示

  1. # time获取当前时间戳
  2. import time
  3. now = int(time.time()) # 1533952277 返回当前时间的时间戳
  4. print(now)
  5. timeArray = time.localtime(now) # 根据时间戳返回当前数据
  6. print(timeArray)
  7. otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray) # 按照指定格式显示
  8. print(otherStyleTime)
  9. # datetime获取当前时间,数组格式
  10. import datetime
  11. now = datetime.datetime.now() # 返回当前时间,以“%Y-%m-%d %H:%M:%S”格式
  12. print (now)
  13. otherStyleTime = now.strftime("%Y--%m--%d %H:%M:%S") # 按照指定格式显示
  14. print (otherStyleTime)