dt range
v1.0
เครื่องกำเนิดไฟฟ้าสำหรับ DateTime
คุณสามารถใช้ pip เพื่อติดตั้งแพ็คเกจนี้
$ pip install dt-range หากคุณใช้ให้นำเข้า dt_range
สังเกตความแตกต่างเล็กน้อยจากชื่อแพ็คเกจนี้
from dt_range import (
daterange ,
hourrange ,
microsecondrange ,
millisecondrange ,
minuterange ,
secondrange ,
timedeltarange ,
weekrange ,
) นี่คือตัวอย่างของการใช้งานโดยใช้ START และ END
weekrange สามารถใช้เพื่อรับวันที่สำหรับแต่ละสัปดาห์
from datetime import datetime
from dt_range import weekrange
START = datetime ( 2021 , 1 , 1 )
END = datetime ( 2021 , 1 , 31 )
for dt in weekrange ( START , END ):
print ( dt )
# 2021-01-01 00:00:00
# 2021-01-08 00:00:00
# 2021-01-15 00:00:00
# 2021-01-22 00:00:00
# 2021-01-29 00:00:00
for dt in weekrange ( START , END , weeks = 2 ):
print ( dt )
# 2021-01-01 00:00:00
# 2021-01-15 00:00:00
# 2021-01-29 00:00:00 daterange สามารถใช้เพื่อรับวันที่สำหรับแต่ละวัน
from datetime import datetime
from dt_range import daterange
START = datetime ( 2021 , 1 , 1 )
END = datetime ( 2021 , 1 , 31 )
for dt in daterange ( START , END ):
print ( dt )
# 2021-01-01 00:00:00
# 2021-01-02 00:00:00
# 2021-01-03 00:00:00
# ...
# 2021-01-29 00:00:00
# 2021-01-30 00:00:00
# 2021-01-31 00:00:00
for dt in daterange ( START , END , days = 4 ):
print ( dt )
# 2021-01-01 00:00:00
# 2021-01-05 00:00:00
# 2021-01-09 00:00:00
# 2021-01-13 00:00:00
# 2021-01-17 00:00:00
# 2021-01-21 00:00:00
# 2021-01-25 00:00:00
# 2021-01-29 00:00:00 hourrange สามารถรับ datetime สำหรับแต่ละชั่วโมง
datetime จะเป็น 0:00 หากคุณไม่ได้ระบุอาร์กิวเมนต์ hour ดังนั้นคุณอาจต้องระบุ 23:00 ในบางกรณี
from datetime import datetime
from dt_range import hourrange
START = datetime ( 2021 , 1 , 1 )
END = datetime ( 2021 , 1 , 1 , 23 )
for dt in hourrange ( START , END ):
print ( dt )
# 2021-01-01 00:00:00
# 2021-01-01 01:00:00
# 2021-01-01 02:00:00
# 2021-01-01 03:00:00
# ...
# 2021-01-01 21:00:00
# 2021-01-01 22:00:00
# 2021-01-01 23:00:00
for dt in hourrange ( START , END , hours = 4 ):
print ( dt )
# 2021-01-01 00:00:00
# 2021-01-01 04:00:00
# 2021-01-01 08:00:00
# 2021-01-01 12:00:00
# 2021-01-01 16:00:00
# 2021-01-01 20:00:00 คุณยังสามารถใช้ minuterange , secondrange ฯลฯ ในลักษณะเดียวกัน
หากคุณต้องการแบ่งมันออกเป็นเซ็กเมนต์ที่มีเวลาน้อยกว่าให้ใช้ timedeltarange
from datetime import datetime , timedelta
from dt_range import timedeltarange
START = datetime ( 2021 , 1 , 1 )
END = datetime ( 2021 , 1 , 31 )
for dt in timedeltarange (
START ,
END ,
timedelta ( days = 5 , hours = 4 , minutes = 3 , seconds = 2 , microseconds = 1 ),
):
print ( dt )
# 2021-01-01 00:00:00
# 2021-01-06 04:03:02.000001
# 2021-01-11 08:06:04.000002
# 2021-01-16 12:09:06.000003
# 2021-01-21 16:12:08.000004
# 2021-01-26 20:15:10.000005 คนขี้เกียจ
การตรวจสอบรหัส Python (สีดำ, flake8, isort, mypy)