time&datetime模塊html
time和datetime模塊主要用於操做時間java
時間有三種表示方式,一種是時間戳、一種是格式化時間、一種是時間元組python
1 import datetime,time 2 print(time.timezone)#和標準時間相差的時間,單位是s 3 print(time.time())#獲取當前時間戳 4 print(time.sleep(1))#休息幾s 5 print(time.gmtime())#把時間戳轉換成時間元組,若是不傳的話,默認取標準時區的時間戳 6 print(time.localtime())#把時間戳轉換成時間元組,若是不傳的話,默認取當前時區的時間戳 7 print(time.mktime(time.localtime()))#把時間元組轉換成時間戳 8 print(time.strftime("%y%m%d %H%M%S"))#將時間元組轉換成格式化輸出的字符串 9 print(time.strptime("20160204 191919","%Y%m%d %H%M%S"))#將格式化的時間轉換成時間元組 10 print(time.struct_time)#時間元組 11 print(time.asctime())#時間元轉換成格式化時間 12 print(time.ctime())#時間戳轉換成格式化時間 13 print(datetime.datetime.now())#固然時間格式化輸出 14 print(datetime.datetime.now()+datetime.timedelta(3))#3天后的時間 15 print(datetime.datetime.now()+datetime.timedelta(-3))#3天前的時間
import time函數
格式化好的時間 20180914 12:08:53post
時間戳: 從計算機誕生那一天到如今過了多少秒url
1 t = time.time() #獲取當前的時間戳 2 print(t) #原始時間數據 3 print(int(t)) #秒級時間戳 4 print(int(round(t*1000))) #毫米級時間戳
1 res = time.strftime('%Y-%m-%d %H:%M:%S') #取當前格式化好的時間 2 print(res) 3 print(time.strftime('%y-%m')) #年份的y能夠小寫,小寫取得是年份的後兩位
經過時間元祖轉換spa
1 time_tuple = time.strptime('1979-09-08 19:18:29','%Y-%m-%d %H:%M:%S') #將格式化時間轉成時間元組,前面參數寫時間,後面參數寫格式,相對應 2 print(time.mktime(time_tuple)) #將時間元組轉換成時間戳
寫一個時間轉時間戳的函數.net
1 import time 2 def str_to_timestamp(time_str=None,format='%Y%m%d%H%M%S'): #默認值 3 if time_str: #非空即真 4 time_tuple = time.strptime(time_str,format) 5 timestamp = time.mktime(time_tuple) 6 else: 7 timestamp = time.time() #若是沒傳參數,則獲取當前時間戳 8 return int(timestamp) #由於有小數部分,因此轉成int 9 print(str_to_timestamp()) 10 print(str_to_timestamp('20290909121229')) 11 print(str_to_timestamp('1988-12-10','%Y-%m-%d'))
1 res = time.gmtime(325894) #將時間戳轉成時間元組,標準時區,參數類型爲整形 2 print(time.strftime('%Y-%m-%d',res)) #將時間元組轉成格式化時間,第一個參數寫格式,第二個參數寫元組 3 4 res = time.gmtime(time.time()) #將當前時間戳轉成元組,time.gmtime轉的是標準時區 5 print(time.strftime('%Y-%m-%d %H:%M:%S',res)) 6 7 res = time.localtime(time.time()) #將當前時間戳轉成元組,time.localtime轉的是中國時區(東八區) 8 print(time.strftime('%Y-%m-%d %H:%M:%S',res))
寫個時間戳轉格式化時間的函數日誌
1 import time 2 import 格式化時間轉時間戳 3 def timestamp_to_strtime(timestamp=None,format='%Y-%m-%d %H:%M:%S'): 4 #這個函數是用來把時間戳轉成格式化好的時間 5 #若是不傳參數的話,那麼就返回當前時間 6 if timestamp: 7 time_tuple = time.localtime(timestamp) #轉爲當前時區時間元祖 8 str_time = time.strftime(format,time_tuple) #時間元組轉格式化時間 9 else: 10 str_time = time.strftime(format) #若是沒有時間戳參數,則默認轉換當前時間戳爲格式化時間 11 return str_time 12 print(timestamp_to_strtime()) 13 print(timestamp_to_strtime(325894)) #只傳時間戳參數 14 print(timestamp_to_strtime(34535,'%Y-%m')) #兩個參數都傳了 15 s = 格式化時間轉時間戳.str_to_timestamp() - (3*24*60*60) #,調用下格式化時間轉時間戳的函數,獲取三天前時間戳 16 res = timestamp_to_strtime(s) 17 print('三天時間是',res)
結果:code
1 1538402929 2 1883621549 3 597686400 4 2018-10-01 22:08:49 5 1970-01-05 02:31:34 6 1970-01 7 三天時間是 2018-09-28 22:08:49
1 # 把字符串轉換爲日期格式 2 import time 3 t = time.strptime('2016-05-09 21:09:30', '%Y-%m-%d %H:%M:%S') 4 print(t) 5 # 函數說明: 6 # 第一個參數是要轉換成日期格式的字符串,第二個參數是字符串的格式
結果:
1 time.struct_time(tm_year=2016, tm_mon=5, tm_mday=9, tm_hour=21, tm_min=9, tm_sec=30, tm_wday=0, tm_yday=130, tm_isdst=-1)
題目:
log日誌中,咱們須要用時間戳記錄erro,warning等的發生時間,請用datetime模塊打印當前時間戳「2018-04-01 11:38:54」
1 import time,datetime 2 print(time.mktime(time.strptime(time.strftime('%Y-%m-%d %H:%M:%S'),'%Y-%m-%d %H:%M:%S'))) 3 #datetime獲取當前時間 4 res = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')#獲取當前時間 後,格式化時間 5 res = time.strptime(res,'%Y-%m-%d %H:%M:%S')#格式化時間轉成元組 6 res = time.mktime(res) 7 print(res) 8 9 print(time.mktime(time.strptime('2018-04-01 11:38:54','%Y-%m-%d %H:%M:%S'))) #「2018-04-01 11:38:54」這個時間的時間戳
符:%a 英文星期簡寫%A 英文星期的徹底%b 英文月份的簡寫%B 英文月份的徹底%c 顯示本地日期時間%d 日期,取1-31%H 小時, 0-23%I 小時, 0-12%m 月, 01 -12%M 分鐘,1-59%j 年中當天的天數%w 顯示今天是星期幾%W 第幾周%x 當天日期%X 本地的當天時間%y 年份 00-99間%Y 年份的完整拼寫————————————————版權聲明:本文爲CSDN博主「彩伊」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。原文連接:https://blog.csdn.net/weixin_42185136/java/article/details/94718201