摘要:用了一段時間的開發項目,也是第一次用來開發項目,所有有許多相關的知識點需要總結,本文所介紹的的日期時間處理就是最近用到的,希望對各位有所幫助,也同時作為自己的筆記儲存。提供了等模塊用于處理日期和時間,較為常用的還是模塊。
用了一段時間的django開發web項目,也是第一次用python來開發項目,所有有許多相關的知識點需要總結,本文所介紹的python的日期時間處理就是最近用到的,希望對各位有所幫助,也同時作為自己的筆記儲存。
Python 提供了time、 calendar、datetime 等模塊用于處理日期和時間,較為常用的還是datetime模塊。
時間間隔是以秒為單位的浮點小數。
每個時間戳都以自從1970年1月1日午夜(歷元)經過了多長時間來表示。
python中時間日期格式化符號:
%y 兩位數的年份表示(00-99)
%Y 四位數的年份表示(000-9999)
%m 月份(01-12)
%d 月內中的一天(0-31)
%H 24小時制小時數(0-23)
%I 12小時制小時數(01-12)
%M 分鐘數(00=59)
%S 秒(00-59)
%a 本地簡化星期名稱
%A 本地完整星期名稱
%b 本地簡化的月份名稱
%B 本地完整的月份名稱
%c 本地相應的日期表示和時間表示
%j 年內的一天(001-366)
%p 本地A.M.或P.M.的等價符
%U 一年中的星期數(00-53)星期天為星期的開始
%w 星期(0-6),星期天為星期的開始
%W 一年中的星期數(00-53)星期一為星期的開始
%x 本地相應的日期表示
%X 本地相應的時間表示
%Z 當前時區的名稱
%% %號本身
calendar
獲取年歷
# 返回一個多行字符串格式的year年年歷,3個月一行,間隔距離為c calendar.calendar(2017)
獲取日歷
# 獲取2017年11月日歷 >>> print calendar.month(2017, 11) November 2017 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
獲取一周一行的月日歷
# 獲取2017年11月周日歷集合 >>> print calendar.monthcalendar(2017,11) [[0, 0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18, 19], [20, 21, 22, 23, 24, 25, 26], [27, 28, 29, 30, 0, 0, 0]]
獲取日期為星期幾
# 獲取2017年11月11日是星期幾(0-6代表星期一到星期日) >>> print calendar.weekday(2017,11,11) 5
datetime
獲取當前日期時間
# 獲取當前時間(datetime類型) >>> print datetime.datetime.now() 2017-11-11 17:21:56.076882 # 獲取當前日期 >>> print datetime.datetime.now().date() 2017-11-11 >>> print datetime.date.today() 2017-11-11 # 獲取當前時間的字符串 >>> print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") "2017-11-11 17:21:56"
獲取當前日期的后幾天/前幾天
# 獲取明天 >>> print datetime.date.today() + datetime.timedelta(days=1) 2017-11-12 >>> print datetime.date.today() + datetime.timedelta(1) 2017-11-12 # 獲取昨天 >>> print datetime.date.today() - datetime.timedelta(days=1) 2017-11-10 >>> print datetime.date.today() - datetime.timedelta(1) 2017-11-10
獲取本周/本月最后一天及第一天
>>> today = datetime.date.today() # 獲取本周第一天 >>> print today - datetime.timedelta(today.weekday()) 2017-11-06 # 獲取本周最后一天 >>> print today + datetime.timedelta(6-today.weekday()) 2017-11-12 # 獲取本月第一天 >>> print datetime.date(today.year, today.month, 1) 2017-11-01 # 獲取本月最后一天 >>> first_day_weekday, last_day_num = calendar.monthrange(today.year, today.month) >>> print datetime.date(today.year, today.month, last_day_num) 2017-11-30
獲取當天最小時間/最大時間
# 獲取當天最小時間 >>> print datetime.datetime.combine(datetime.date.today(), datetime.time.min) 2017-11-11 00:00:00 # 獲取當天最大時間 >>> print datetime.datetime.combine(datetime.date.today(), datetime.time.max) 2017-11-11 23:59:59.999999
time
獲取當前時間戳
>>> print time.time() 1510396655.7
獲取本地時間
>>> print time.localtime(time.time()) time.struct_time(tm_year=2017, tm_mon=11, tm_mday=11, tm_hour=18, tm_min=13, tm_sec=57, tm_wday=5, tm_yday=315, tm_isdst=0)
獲取格式化時間
# 格式化成%Y-%m-%d %H:%M:%S形式 >>> print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 2017-11-11 18:58:39 # 格式化成%a %b %d %H:%M:%S %Y形式 >>> print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()) Mon Nov 11 18:58:40 2017 # 將格式字符串轉換為時間戳 >>> format_time = time.strptime("2017-11-11 18:58:39", "%Y-%m-%d %H:%M:%S") >>> print time.mktime(format_time) 1510396712.0
各個時間格式之間的轉換
datetime <=> date
# datetime=> date >>> print datetime.datetime.now().date() 2017-11-11 # date => datetime >>> today = datetime.date.today() >>> print datetime.datetime.combine(today, datetime.time.min) 2017-11-11 00:00:00
datetime <=> timestamp
# datetime => timestamp >>> print time.mktime(datetime.datetime.now().timetuple()) 1510396755.0 # timestamp => datetime >>> print datetime.datetime.fromtimestamp(1510396755.0) 2017-11-11 18:39:15
datetime <=> string
# datetime => string >>> print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") 2017-11-11 18:39:15 # string => datetime >>> print datetime.datetime.strptime("2017-11-11 18:39:15", "%Y-%m-%d %H:%M:%S") 2017-11-11 18:39:15
datetime <=> timetuple
# datetime => timetuple >>> print datetime.datetime.now().timetuple() time.struct_time(tm_year=2017, tm_mon=11, tm_mday=11, tm_hour=18, tm_min=50, tm_sec=57, tm_wday=5, tm_yday=315, tm_isdst=0) # timetuple => datetime >>> time_tuple = datetime.datetime.now().timetuple() >>> print datetime.datetime.fromtimestamp(time.mktime(time_tuple)) 2017-11-11 18:50:35
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44485.html
摘要:最要命的是,在標準庫中居然有兩個模塊處理時間,一個叫,另外一個叫,里面提供了類似的方法但是兩個完全不是一回事。到這還沒完,標準庫里還有一個叫的模塊,也是用來處理時間的。今天的主角是一個優雅到我不能放棄的時間處理庫。 緣起 很多時候我們不得不和時間打交道,但在Python標準庫中處理時間的模塊其實設計的不是很友好,為什么我會這么說?因為我相信大部分人幾乎每次在處理時間數據時一而再,再而三...
小編寫這篇文章的一個主要目的,主要是用來給大家繼續講解關于python的一些實例,比如綜合運用Python+SeaTable,運用這個技能,可以實現相關的一些計算技能。比如可以實現連續性的計算兩個工作日天數,下面給大家詳細解答下。 當我們計算兩個日期間的間隔天數時,通常是用結束日期減去開始日期,但在實際的項目管理、任務管理、工作計劃等場景中,某些時間段會涉及雙休日、法定節假日,甚至還有公司自...
Python的作用還是比較的廣泛的,在日常生活中,應用范圍也比較的廣泛,比如,我們可以去利用python,以此來獲取年月日等相關的一些信息,具體的內容是什么呢?下面就給大家詳細的解答下。 這次介紹日期數據處理。 用python中的方法對日期數據進行處理,我們可以獲取很多有用的信息,比如年月日,星期,周次,季度等,這里分享工作和數據競賽30余種常用的轉換方法。 1計算日期的年月日時分秒,星...
摘要:中提供了一個和的模塊可以用來做格式化日期和時間的。格式化日期通過模塊中方法來格式化日期函數接收時間元組并返回以可讀字符串表示薪資的時間格式的話由參數決定。每日寬度間隔為字符每行的長度為是每星期的行數。 我們可以通過學習在Python中對日期時間的處理,可以在快速的完成工作,比如: 將日期時間作為日志信息的內容輸入 計算某一個功能的執行時間 用日期命名一個文件的名稱 記錄或者展示文件的...
摘要:包包基于語言的庫函數。的解釋器通常是用編寫的,的一些函數也會直接調用語言的庫函數。是指年月日構成的日期相當于日歷,是指時分秒微秒構成的一天小時中的具體時間相當于手表。如果對時間有比較繁瑣的操作時,可以嘗試使用包。 time包 time包基于C語言的庫函數(library functions)。Python的解釋器通常是用C編寫的,Python的一些函數也會直接調用C語言的庫函數。 im...
閱讀 3794·2021-09-29 09:34
閱讀 3770·2021-09-27 13:34
閱讀 566·2021-09-24 09:47
閱讀 3037·2019-08-30 15:53
閱讀 1808·2019-08-26 13:54
閱讀 2086·2019-08-26 13:43
閱讀 531·2019-08-23 14:47
閱讀 1740·2019-08-23 14:28