Python基礎—日期與時間操作
來自: http://wxmimperio.tk/2016/03/05/Python-date-time-ops/
Python標準庫中提供了datatime模塊來操作日期和時間
環境及版本
Windows 10 x64 Python 2.7 Pycharm 4.5.1
datetime.date
-
表示日期的類,常用的屬性有year, month, day
-
year的范圍是[1, 9999],month的范圍是[1, 12],day的最大值根據給定的year, month參數來決定(區分閏年)
常用的屬性
# 利用構造函數創建日期 now_time = date(2016, 1, 1) print now_time
- date.max、date.min: 最大、最小日期
# 最大最小日期 print now_time.min, now_time.max
- date.resolution: 表示日期的最小單位
# 表示日期的最小單位 print now_time.resolution
- date.year,date.month,date.day: 取得年,月,日
# 取得年、月、日 print "year={0},month={1},day={2}".format(now_time.year, now_time.month, now_time.day)
常用的類方法
- date.today()
# 返回一個表示當前本地日期的date對象 print date.today()
- date.fromtimestamp(timestamp)
# 根據給定的時間戮,返回一個date對象 timesstamp = 1451577600 print date.fromtimestamp(timesstamp)
- date.replace(year, month, day)
# 生成一個新的日期對象 replace_date = now_time.replace(year=1990) print replace_date
- date.timetuple()
# 返回日期對應的time.struct_time對象 print now_time.timetuple()
- date.weekday()
# 返回weekday,如果是星期一,返回0,如果是星期2,返回1,以此類推. print now_time.weekday()
- date.isocalendar()
# 返回格式如(year,month,day)的元組; print now_time.isocalendar()
- date.isoformat()
# 返回格式如'%Y-%m-%d'的字符串 print now_time.isoformat()
- date.strftime(fmt)
# 自定義格式化字符串 fmt = "%Y-%m-%d %H:%M:%S" print now_time.strftime(fmt)
- 兩個日期運算
date_1 = date(1992, 1, 20) date_2 = date(2000, 5, 3) print "date_2 - date_1 = {0}".format(date_2 - date_1)
- 比較日期時返回True or False
if date_1 > date_2: print "date_1 > date_2" else: print "date_1 < date_2"
datetime.time
-
time類表示時間,由hour、minute、second、microsecond(時、分、秒以及微秒)組成
-
hour的范圍為[0, 24)、minute的范圍為[0, 60)、second的范圍為[0, 60)、microsecond的范圍為[0, 1000000)
常用的屬性
# 構造函數創建時間 now_time = time(10, 12, 13) print now_time
- time.min、time.max
# 最小、最大時間 print now_time.min, now_time.max
- time.resolution
# 時間的最小單位,微妙 print now_time.resolution
- time.hour、time.minute、time.second、time.microsecond
# 時、分、秒、微秒 print now_time.hour, now_time.minute, now_time.second, now_time.microsecond
常用方法
- time.replace()
# 創建一個新的時間對象,用參數指定的時、分、秒、微秒代替原有對象中的屬性 new_time = now_time.replace(hour=19,second=50) print new_time
- time.isoformat()
# 返回型如"%H:%M:%S"格式的字符串表示 print now_time.isoformat()
- time.strftime(fmt)
# 返回自定義格式化字符串。在下面詳細介紹 fmt = "%H:%M:%S:%f" print now_time.strftime(fmt)
datetime.datetime
- datetime是date與time的結合體,包括date與time的所有信息
常用屬性
# 獲取當前時間 now_datetime = datetime.now() print now_datetime
- datetime.min、datetime.max
# 最小值與最大值 print now_datetime.min, now_datetime.max
- datetime.resolution
# datetime最小單位 print now_datetime.resolution
- datetime.year、month、day、hour、minute、second、microsecond、tzinfo
# 獲取datetime的年、月、日、時、分、秒、時區 print now_datetime.year, now_datetime.month, now_datetime.day print now_datetime.hour, now_datetime.minute, now_datetime.second, now_datetime.microsecond print now_datetime.tzinfo
常用方法
- datetime.today()
# 返回一個表示當前本地時間的datetime對象 print now_datetime.today()
- datetime.utcnow()
# 返回一個當前utc時間的datetime對象 print now_datetime.utcnow()
- datetime.fromtimestamp(timestamp[, tz])
# 根據時間戮創建一個datetime對象,參數tz指定時區信息 timesstamp = 1451577600 print datetime.fromtimestamp(timesstamp)
- datetime.utcfromtimestamp(timestamp)
# 根據時間戮創建一個datetime對象 print datetime.utcfromtimestamp(timesstamp)
- datetime.combine(date, time)
# 根據date和time,創建一個datetime對象 new_date = date.today() new_time = time(12, 12, 12) print datetime.combine(new_date, new_time)
- datetime.strptime(date_string, format)
# 將格式字符串轉換為datetime對象 fmt = "%Y-%m-%d %H:%M:%S:%f" fmt_datetime = "2016-1-2 12:8:52:2569" print datetime.strptime(fmt_datetime, fmt)
- datetime.strftime(format)
# 將datetime對象格式化成字符串 datetime_str = datetime.today().strftime("%Y-%m-%d %H:%M:%S:%f") print datetime_str
- datetime.weekday()
# 獲取星期 print datetime.today().weekday()
- datetime.utctimetuple()
# 轉換成UTC的元祖 print datetime.today().utctimetuple()
格式化日期符號表
符號 | 意義 |
---|---|
%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 | 當前時區的名稱 |
%% | %號本身 |
參考:Python基礎教程(第2版·修訂版)
轉載請注明出處
本文由用戶 FosterV16 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!