Python(7) 日期操作
阿新 • • 發佈:2019-02-14
1. 日期類
datetime
模組- 包括以下物件:
date
datetime
time
timedelta
tzinfo
2. 獲取時間物件
from datetime import *
d1 = datetime.now()
d2 = datetime(2017, 8, 12, 6, 12, 31, 555) # 其中年月日必須
3. 時間物件與字串的轉換
from datetime import *
# 直接獲取字串
str(datetime.now()) # 如2017-09-15 10:13:07.773401
# 從時間物件到字串(格式化)
# 使用strftime()
dt = datetime.now()
str_dt = dt.strftime("%Y-%m-%d %H:%M:%S") # 2017-09-15 10:18:53
# 從字串到時間物件(格式化)
# 使用strptime
str_dt = "2017-06-18 02:00:21"
dt = datetime.strptime(str_dt, "%Y-%m-%d %H:%M:%S")
# %a 星期的簡寫。如 星期三為Web
# %A 星期的全寫。如 星期三為Wednesday
# %b 月份的簡寫。如4月份為Apr
# %B 月份的全寫。如4月份為April
# %c 日期時間的字串表示。(如: 04/07/10 10:43:39)
# %d 日在這個月中的天數(是這個月的第幾天)
# %f 微秒(範圍[0,999999])
# %H 小時(24小時制,[0, 23])
# %I 小時(12小時制,[0, 11])
# %j 日在年中的天數 [001,366](是當年的第幾天)
# %m 月份([01,12])
# %M 分鐘([00,59])
# %p AM或者PM
# %S 秒(範圍為[00,61],為什麼不是[00, 59],參考python手冊~_~)
# %U 周在當年的週數當年的第幾周),星期天作為周的第一天
# %w 今天在這周的天數,範圍為[0, 6],6表示星期天
# %W 周在當年的週數(是當年的第幾周),星期一作為周的第一天
# %x 日期字串(如:04/07/10)
# %X 時間字串(如:10:43:39)
# %y 2個數字表示的年份
# %Y 4個數字表示的年份
# %z 與utc時間的間隔 (如果是本地時間,返回空字串)
# %Z 時區名稱(如果是本地時間,返回空字串)
# %% 輸出百分號
4. datetime中的物件
print(dt.year)
print(dt.month)
print(dt.day)
print(dt.hour)
print(dt.minute)
print(dt.second)
print(dt.microsecond)
print(dt.tzinfo)
5. 比較
from datetime import *
# datetime 物件可以直接比較大小
# > >= == != <= <
dt1 = datetime.now()
dt2 = datetime.now()
dt1 > dt2
5. 加減
from datetime impot *
# timedelta物件
# 兩個時間物件相減就得到timedelta
dt1 = datetime.now()
dt2 = datetime.now()
delta = dt1 - dt2
# timedelta構造器
# timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
delta = timedelta(10)
# 對datetime物件進行操作
dt1 = dt1 + delta