Python时间,日期,时间戳之间转换

2023-01-31 05:01:20 日期 时间 转换

1.将字符串的时间转换为时间戳
   方法:
       a = "2013-10-10 23:40:00"
       将其转换为时间数组
       import time
       timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
   转换为时间戳:
   timeStamp = int(time.mktime(timeArray))
   timeStamp == 1381419600

2.字符串格式更改
   如a = "2013-10-10 23:40:00",想改为 a = "2013/10/10 23:40:00"
   方法:先转换为时间数组,然后转换为其他格式
   timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
   otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)


3.时间戳转换为指定格式日期:
   方法一:
       利用localtime()转换为时间数组,然后格式化为需要的格式,如
       timeStamp = 1381419600
       timeArray = time.localtime(timeStamp)
       otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
       otherStyletime == "2013-10-10 23:40:00"

   方法二:
       import datetime
       timeStamp = 1381419600
       dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
       otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
       otherStyletime == "2013-10-10 23:40:00"

4.获取当前时间并转换为指定日期格式
   方法一:
       import time
       获得当前时间时间戳
       now = int(time.time())  ->这是时间戳
       转换为其他日期格式,如:"%Y-%m-%d %H:%M:%S"
       timeArray = time.localtime(timeStamp)
       otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)

   方法二:
       import datetime
       获得当前时间
       now = datetime.datetime.now()  ->这是时间数组格式
       转换为指定的格式:
       otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S")

5.获得三天前的时间
   方法:
       import time
       import datetime
       先获得时间数组格式的日期
       threeDayAGo = (datetime.datetime.now() - datetime.timedelta(days = 3))
       转换为时间戳:
           timeStamp = int(time.mktime(threeDayAgo.timetuple()))
       转换为其他字符串格式:
           otherStyleTime = threeDayAgo.strftime("%Y-%m-%d %H:%M:%S")
   注:timedelta()的参数有:days,hours,seconds,microseconds

6.给定时间戳,计算该时间的几天前时间:
   timeStamp = 1381419600
   先转换为datetime
   import datetime
   import time
   dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
   threeDayAgo = dateArray - datetime.timedelta(days = 3)
   参考5,可以转换为其他的任意格式了

相关文章