1.將字串的時間轉換為時間戳
import time
a = "2018-04-27 17:49:00"
#轉化為陣列
timearray = time.strptime(a, "%y-%m-%d %h:%m:%s")
#轉換為時間戳
timestamp = int(time.mktime(timearray))#1524822540
2.字串格式更改
如a = "2018-04-27 17:49:00",想改為 a = "2013/04/27 17:49:00"
方法:先轉換為時間陣列,然後轉換為其他格式
import time
a = "2018-04-27 17:49:00"
timearray = time.strptime(a, "%y-%m-%d %h:%m:%s")
otherstyletime = time.strftime("%y/%m/%d %h:%m:%s", timearray)#'2018/04/27 17:49:00'
3.時間戳轉換為指定格式日期:
方法一:
利用localtime()轉換為時間陣列,然後格式化為需要的格式,如
import time
timestamp = 1524822540
timearray = time.localtime(timestamp)
otherstyletime = time.strftime("%y-%m-%d %h:%m:%s", timearray)
otherstyletime == "2018-04-27 17:49:00"
方法二:
import datetime
timestamp = 1524822540
datearray = datetime.datetime.utcfromtimestamp(timestamp)
otherstyletime = datearray.strftime("%y-%m-%d %h:%m:%s")
otherstyletime == "2018-04-27 17:49:00"
4.獲取當前時間並轉換為指定日期格式
方法一:
import time
#獲得當前時間時間戳
now = int(time.time()) #這是時間戳
#轉換為其他日期格式,如:"%y-%m-%d %h:%m:%s"
timearray = time.localtime(now)
otherstyletime = time.strftime("%y-%m-%d %h:%m:%s", timearray)#2018-04-27 18:04:24
方法二:
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")#2018-04-24 18:06:37
#注:timedelta()的引數有:days,hours,seconds,microseconds
import datetime
import time
timestamp = 1524822540
#先轉換為datetime
datearray = datetime.datetime.utcfromtimestamp(timestamp)
threedayago = datearray - datetime.timedelta(days = 3)
以上是原作者的寫作,下面是我個人的補充
a = '2020-09-01 09:00:00'
a = datetime.strptime(a,"%y-%m-%d %h:%m:%s") 字串轉時間
a = datetime.strftime(a,"%y-%m-%d %h:%m:%s") 時間轉字串
datetime 和 time是不一樣的,time.strptime 轉化為時間後是元祖格式的時間,如:
而datetime.strptime 是「時間格式」的時間,如:2020-09-01 09:00:00 ,
datetime轉出來的才可以進行 timedelta(hours=2) 這樣的運算!
需要注意的是datetime 轉換的兩種方法都是變數在前,"%y-%m-%d %h:%m:%s" 在後,
而 time 轉換的話 時間轉字串 strftime 方法要求變數在後面。
datetime轉化出來的 時間格式,不能直接進行 int( time.mktime(a)) * 1000 轉成 時間戳,而是需要先 通過 datetime.strftime 轉成 字串,再通過 time.strptime 方法轉成 time格式(元祖)的時間,才能進行時間戳的轉換,
例子:
a = '2020-09-01 09:00:00' # 字串
a = datetime.strptime(a,"%y-%m-%d %h:%m:%s") # 轉為datetime的時間型別
這時如果要轉換為時間戳,那麼:
a = datetime.strftime(a,"%y-%m-%d %h:%m:%s") # 轉為 字串
a = time.strptime(a,"%y-%m-%d %h:%m:%s") # 轉為 time 格式的時間型別 (元祖)
# a = time.strftime("%y-%m-%d %h:%m:%s",a) #ps 跟上面的strptime 對比一下引數順序
a = int(time.mktime(a)) * 1000 # 轉為時間戳 :1598858859691
Python 時間戳 字串 時間 轉換
平時對於時間的處理經常使用python的time和datetime模組,但是用來多次還是對其中的時間戳,字串和時間轉換應用的不太熟練,時間長了不使用就理不清楚,為此整理成文。時間戳,時間,字串之間的關係整理如下圖 時間戳 time.time 返回當前時間戳 seconds time.time tim...
python 字串時間轉成時間戳
示例一import time t 2020 10 31 12 44 27 將字串形式的時間轉換為時間元組 t time.strptime t,y m d h m s 將時間元組轉換為時間戳 t time.mktime t 1604119467.0 print t 示例二import time t m...
python 時間戳 時間字串轉換
使用time和datetime包進行轉換。環境python2.7.13。gmt 格林威治時間,bjt 北京時間。時間戳轉為時間字串 coding utf 8 時間戳 gmt 轉化為字串 bjt import time import datetime timestamp 1522165684 時間戳是...