日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python日期函数_Python日期时间处理: datestuff

發布時間:2023/12/20 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python日期函数_Python日期时间处理: datestuff 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python部落(python.freelycode.com)組織翻譯,禁止轉載,歡迎轉發。

問題:

在一些場景下datetime包的使用并非那么簡便易用,同時很難找到其他的較為完整的替代方案。

原因:

誠實地說,我非常喜愛datetime這個模塊,幾乎所有需要的操作都可以通過它實現。

但是,有一些情況下,datetime卻并沒有那么好用。比如:

1.創建日期時間范圍

2.創建未固定的日期時間

3.檢驗兩個日期時間的差值是否在一定的范圍內。

以下是datestuff包的簡略介紹:

RelativeDate和RelativeDateTime

這兩個函數用來創建未固定的日期和時間,可以設置timedelta參數和factory method。

默認情況下,RelativeDate以date.today,RelativeDateTime以datetime.now作為默認的factory實現。兩個功能都有初始默認timedelta(0):

但也可以使用其他的factory:

只要內部的factory能生成date或者datetime匹配的對象,那么都可以正常運行。這里的匹配是指date和datetime接口的匹配

另外,如果只是靜態的偏移,你可以簡單地通過設置timedelta 或 dateutil relativedelta來設置偏移。需要注意的是,目前timedelta 和 relativedelta不會相互干涉。

RelativeDate和RelativeDateTime還允許使用標準運算符(==,!=,>等)與date和datetime對象進行比較。 使得快速定義靜態的date或者datetime邊界(例如在serializer或ORM模型中)非常有用:

事實上,加法和減法是對它們的偏移量進行操作,而不是對date或datetime值操作。

另外還有一些函數可以構造日期和時間對象,每個都允許傳遞偏移量,但默認為timedelta():

RelativeDate.today: 默認的構造函數

RelativeDateTime.now: 默認的構造函數,允許設置tzinfo

RelativeDateTime.utcnow: 生成UTC的日期對象(注意:它依賴于datetime.utcnow函數)

RelativeDateTime.today: 默認的構造函數,不允許設置tzinfo

方便起見,也有一些構造靜態時間對象的函數:

RelativeDate.fromdate: 構造常規的date對象

RelativeDateTime.fromdatetime: 構造常規的datetime對象

RelativeDateTime.fromdate: 在RelativeDateTime中鬼爪常規的date對象,可以設置tzinfo,類似于datetime.combine(the_date, time(tzinfo=tzinfo))

另外的靜態構造函數,如datetime.strptime,如果需要的話,可以從以上函數中派生。

最后,在以上未直接提及的功能都被轉換到date或datetime中實現。

DateRange

設置時間段我發現事自己經常需要的一種操作,然而,對于生成很長間隔的時間段來說是非常困難的。

相反,DateRange在Python3 range 基礎上構建,該類型具有查找,迭代,索引和區間分割的功能(分割返回新的DateRange對象)

DateRange還允許通過忽略停止參數來創建開放式結束時間對象。如果使用len或者在分割或者索引選擇中使用負值,該功能將不起作用。

目前,DateRange不支持relativedelta,它使用timedelta.total_seconds以確保Python 2和3的兼容。 這個問題也許在未來解決。然而,DateRange與date,datetime和timedelta的對象兼容。這一點也適用于RelativeDate和RelativeDateTime。

utils

目前,唯一的util是within_delta函數,它用于比較兩個date或datetime(或類似)對象之差是否在某個設定時間區間中。

如果需要檢驗時間界限的話,這個函數用起來比DateRange或RelativeDate更加輕便。但壞消息時,它不能與relativedelta相互調用,因為它和timedelta對象是無序的(至少在Python 3是這樣的)。

英文原文:https://github.com/justanr/datestuff

譯者:alanf

總結

以上是生活随笔為你收集整理的python日期函数_Python日期时间处理: datestuff的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。