iT邦幫忙

0

Python的 datetime timedelta strftime 模組

  • 分享至 

  • xImage
  •  

Python 的 datetime 模組提供了一個名為 timedelta 的類,用於表示兩個日期或時間之間的差異。
這個類別非常有用,因為它可以幫助我們進行日期和時間的計算,例如加減天數、秒數等。

1.什麼是 timedelta?
timedelta: 是一個表示時間差的對象,通常用於計算日期和時間之間的差異。
用途: 可以用來進行日期和時間的加法或減法操作,適合需要進行時間計算的場景。

主要屬性和參數

timedelta 類可以接受多種參數來定義時間差,這些參數包括:

  • days: 天數(整數或浮點數)。
  • seconds: 秒數(整數或浮點數)。
  • microseconds: 微秒數(整數或浮點數)。
  • milliseconds: 毫秒數(整數或浮點數)。
  • minutes: 分鐘數(整數或浮點數)。
  • hours: 小時數(整數或浮點數)。
  • weeks: 星期數(整數或浮點數)。
    所有這些參數都是可選的,默認值為 0。
from datetime import timedelta

# 創建一個表示 3 天的 timedelta
td1 = timedelta(days=3)
print(td1)  # 輸出: 3 days, 0:00:00

# 創建一個表示 5 小時 30 分鐘的 timedelta
td2 = timedelta(hours=5, minutes=30)
print(td2)  # 輸出: 5:30:00

2.日期計算:

from datetime import datetime, timedelta

# 獲取當前日期和時間
now = datetime.now()
print("現在時間:", now)

# 計算未來的日期(例如,加上 10 天)
future_date = now + timedelta(days=10)
print("10 天後的日期:", future_date)

# 計算過去的日期(例如,減去 5 天)
past_date = now - timedelta(days=5)
print("5 天前的日期:", past_date)

3.計算時間差:

from datetime import datetime, timedelta

# 創建兩個日期對象
date1 = datetime(2024, 1, 1)
date2 = datetime(2024, 1, 15)

# 計算兩個日期之間的差異
difference = date2 - date1
print("兩個日期之間的差異:", difference)  # 輸出: 14 days, 0:00:00

# 使用 timedelta 對象進行相同計算
td = timedelta(days=14)
print("14 天的 timedelta:", td)  # 輸出: 14 days, 0:00:00

4.strftime 的基本用法

datetime_object.strftime(format)

參數:format: 一個字符串,指定了輸出格式。這個格式字符串可以包含多種格式化符號,用於表示年、月、日、時、分、秒等。

參數:
format: 一個字符串,指定了輸出格式。這個格式字符串可以包含多種格式化符號,用於表示年、月、日、時、分、秒等。
符號 描述
**文本** 粗體文本
*文本* 斜體文本
__文本__ 粗體文本(另一種寫法)
_文本_ 斜體文本(另一種寫法)
`代碼` 行內代碼
[連結文字](URL) 超連結
![圖片描述](圖片URL) 插入圖片
> 引用 引用文本
- 列表項目 無序列表項目
1. 列表項目 有序列表項目
--- 水平分隔線

注意事項

  • timedelta 對象可以進行加法和減法運算,可以與 datetime 對象結合使用,以便輕鬆地進行日期和時間計算。
  • 當使用 timedelta 時,所有參數都會被標準化,例如,如果你指定了天和小時,最終結果會自動轉換為完整的天、秒和微秒。
  • 使用 strftime 方法可以輕鬆地將日期和時間對象轉換為可讀的字符串格式,並根據需要自定義輸出樣式。這對於生成報告、顯示用戶友好的日期時間信息等情境非常有用。如果你有其他問題或需要進一步的解釋,隨時告訴我

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言