1. 程式人生 > >Python(7) 日期操作

Python(7) 日期操作

1. 日期類

  • datetime模組
  • 包括以下物件:
    1. date
    2. datetime
    3. time
    4. timedelta
    5. 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