Nếu bạn định sử dụng Dynamic timedelta
thì bạn có thể sử dụng:dynamic timedelta
then you can use:
1. Với vòng lặp trong khi
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
while start Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
3. Nếu bạn đang sử dụng async/chờ đợi
async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
4. Liệt kê hiểu biết
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> List[datetime]:
delta_units = int[[end - start] / delta]
return [start + [delta * index] for index in range[delta_units + 1]]
Sau đó, 1 và 2 giải pháp chỉ đơn giản là có thể được sử dụng như thế này
start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part for time_part in datetime_range[start, end, delta]]
# or
for time_part in datetime_range[start, end, delta]:
print[time_part]
Giải pháp 3 phần ba có thể được sử dụng như thế này trong bối cảnh Async. Bởi vì nó lấy lại một đối tượng máy phát không đồng bộ, chỉ có thể được sử dụng trong bối cảnh không đồng bộ
start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part async for time_part in datetime_range[start, end, delta]]
async for time_part in datetime_range[start, end, delta]:
print[time_part]
Lợi ích của các giải pháp về là tất cả chúng đang sử dụng timedelta
động. Điều này có thể rất hữu ích trong các trường hợp khi bạn không biết bạn sẽ có Delta thời gian nào.dynamic timedelta
. This can be very usefull in cases when you do not know which time delta you will have.
Trong bài viết này, chúng tôi sẽ thảo luận về cách lặp lại dữ liệu thông qua một loạt các ngày.
Sử dụng Loop và Timedelta để lặp lại thông qua một loạt các ngày
Timedelta được sử dụng để có được ngày và vòng lặp sẽ lặp lại ngày từ ngày bắt đầu đến ngày kết thúc
Cú pháp: delta = datetime.timedelta [ngày = 1]: delta = datetime.timedelta[days=1]
Ví dụ: Mã Python để hiển thị ngày từ năm 2021 - ngày 1 đến 2021 - 1 tháng 3Python code to display the dates from 2021 – Feb 1st to 2021 – March 1st
Python3
from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
1 from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
2from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
3from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
4 from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
5from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
6from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
7from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
8from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
7async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
0async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
1async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
2from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
4 from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
5from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
6from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
7async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
7from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
7async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
0async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
1def datetime_range[start: datetime, end: datetime, delta: timedelta] -> List[datetime]:
delta_units = int[[end - start] / delta]
return [start + [delta * index] for index in range[delta_units + 1]]
1from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
4 def datetime_range[start: datetime, end: datetime, delta: timedelta] -> List[datetime]:
delta_units = int[[end - start] / delta]
return [start + [delta * index] for index in range[delta_units + 1]]
3from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
4async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
0async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
1def datetime_range[start: datetime, end: datetime, delta: timedelta] -> List[datetime]:
delta_units = int[[end - start] / delta]
return [start + [delta * index] for index in range[delta_units + 1]]
7 def datetime_range[start: datetime, end: datetime, delta: timedelta] -> List[datetime]:
delta_units = int[[end - start] / delta]
return [start + [delta * index] for index in range[delta_units + 1]]
8from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
4 start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part for time_part in datetime_range[start, end, delta]]
# or
for time_part in datetime_range[start, end, delta]:
print[time_part]
0start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part for time_part in datetime_range[start, end, delta]]
# or
for time_part in datetime_range[start, end, delta]:
print[time_part]
1start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part for time_part in datetime_range[start, end, delta]]
# or
for time_part in datetime_range[start, end, delta]:
print[time_part]
2start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part for time_part in datetime_range[start, end, delta]]
# or
for time_part in datetime_range[start, end, delta]:
print[time_part]
3from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
4start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part for time_part in datetime_range[start, end, delta]]
# or
for time_part in datetime_range[start, end, delta]:
print[time_part]
5async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
1start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part for time_part in datetime_range[start, end, delta]]
# or
for time_part in datetime_range[start, end, delta]:
print[time_part]
1from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
3start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part for time_part in datetime_range[start, end, delta]]
# or
for time_part in datetime_range[start, end, delta]:
print[time_part]
9from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
4 start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part async for time_part in datetime_range[start, end, delta]]
async for time_part in datetime_range[start, end, delta]:
print[time_part]
1Output::
2021-02-01 2021-02-02 2021-02-03 2021-02-04 2021-02-05 2021-02-06 2021-02-07 2021-02-08 2021-02-09 2021-02-10 2021-02-11 2021-02-12 2021-02-13 2021-02-14 2021-02-15 2021-02-16 2021-02-17 2021-02-18 2021-02-19 2021-02-20 2021-02-21 2021-02-22 2021-02-23 2021-02-24 2021-02-25 2021-02-26 2021-02-27 2021-02-28 2021-03-01
Sử dụng thư viện DateUtil để lặp lại thông qua một loạt các ngàyto Iterate through a range of dates
Ở đây chúng tôi đang sử dụng thư viện Python tích hợp DateUtil để lặp lại thông qua phạm vi ngày nhất định.dateutil built-in library of Python to iterate through the given range of dates.
Cú pháp: rrule [tần số]rrule[ frequency ]
Trong đó tần suất có thể là hàng ngày/hàng tháng/anally.
Example:
Python3
start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part async for time_part in datetime_range[start, end, delta]]
async for time_part in datetime_range[start, end, delta]:
print[time_part]
2 start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part async for time_part in datetime_range[start, end, delta]]
async for time_part in datetime_range[start, end, delta]:
print[time_part]
3from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
1 start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part async for time_part in datetime_range[start, end, delta]]
async for time_part in datetime_range[start, end, delta]:
print[time_part]
5start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part async for time_part in datetime_range[start, end, delta]]
async for time_part in datetime_range[start, end, delta]:
print[time_part]
2 start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part async for time_part in datetime_range[start, end, delta]]
async for time_part in datetime_range[start, end, delta]:
print[time_part]
7from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
1 start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part async for time_part in datetime_range[start, end, delta]]
async for time_part in datetime_range[start, end, delta]:
print[time_part]
9from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
3from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
4 2021-02-01 2021-02-02 2021-02-03 2021-02-04 2021-02-05 2021-02-06 2021-02-07 2021-02-08 2021-02-09 2021-02-10 2021-02-11 2021-02-12 2021-02-13 2021-02-14 2021-02-15 2021-02-16 2021-02-17 2021-02-18 2021-02-19 2021-02-20 2021-02-21 2021-02-22 2021-02-23 2021-02-24 2021-02-25 2021-02-26 2021-02-27 2021-02-28 2021-03-012
2021-02-01 2021-02-02 2021-02-03 2021-02-04 2021-02-05 2021-02-06 2021-02-07 2021-02-08 2021-02-09 2021-02-10 2021-02-11 2021-02-12 2021-02-13 2021-02-14 2021-02-15 2021-02-16 2021-02-17 2021-02-18 2021-02-19 2021-02-20 2021-02-21 2021-02-22 2021-02-23 2021-02-24 2021-02-25 2021-02-26 2021-02-27 2021-02-28 2021-03-013
from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
72021-02-01 2021-02-02 2021-02-03 2021-02-04 2021-02-05 2021-02-06 2021-02-07 2021-02-08 2021-02-09 2021-02-10 2021-02-11 2021-02-12 2021-02-13 2021-02-14 2021-02-15 2021-02-16 2021-02-17 2021-02-18 2021-02-19 2021-02-20 2021-02-21 2021-02-22 2021-02-23 2021-02-24 2021-02-25 2021-02-26 2021-02-27 2021-02-28 2021-03-015
from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
7async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
0async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
1async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
2from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
4 2021-02-01 2021-02-02 2021-02-03 2021-02-04 2021-02-05 2021-02-06 2021-02-07 2021-02-08 2021-02-09 2021-02-10 2021-02-11 2021-02-12 2021-02-13 2021-02-14 2021-02-15 2021-02-16 2021-02-17 2021-02-18 2021-02-19 2021-02-20 2021-02-21 2021-02-22 2021-02-23 2021-02-24 2021-02-25 2021-02-26 2021-02-27 2021-02-28 2021-03-012
2021-02-01 2021-02-02 2021-02-03 2021-02-04 2021-02-05 2021-02-06 2021-02-07 2021-02-08 2021-02-09 2021-02-10 2021-02-11 2021-02-12 2021-02-13 2021-02-14 2021-02-15 2021-02-16 2021-02-17 2021-02-18 2021-02-19 2021-02-20 2021-02-21 2021-02-22 2021-02-23 2021-02-24 2021-02-25 2021-02-26 2021-02-27 2021-02-28 2021-03-013
from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
72021-02-01 2021-02-02 2021-02-03 2021-02-04 2021-02-05 2021-02-06 2021-02-07 2021-02-08 2021-02-09 2021-02-10 2021-02-11 2021-02-12 2021-02-13 2021-02-14 2021-02-15 2021-02-16 2021-02-17 2021-02-18 2021-02-19 2021-02-20 2021-02-21 2021-02-22 2021-02-23 2021-02-24 2021-02-25 2021-02-26 2021-02-27 2021-02-28 2021-03-015
from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
72022-09-01 2022-09-02 2022-09-03 2022-09-04 2022-09-05 2022-09-06 2022-09-07 2022-09-08 2022-09-09 2022-09-10 2022-09-116
async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
12022-09-01 2022-09-02 2022-09-03 2022-09-04 2022-09-05 2022-09-06 2022-09-07 2022-09-08 2022-09-09 2022-09-10 2022-09-118
2022-09-01 2022-09-02 2022-09-03 2022-09-04 2022-09-05 2022-09-06 2022-09-07 2022-09-08 2022-09-09 2022-09-10 2022-09-119
2021-01-01 2021-01-02 2021-01-03 2021-01-04 2021-01-05 2021-01-06 2021-01-07 2021-01-08 2021-01-09 2021-01-10 2021-01-11 2021-01-12 2021-01-13 2021-01-14 2021-01-15 2021-01-16 2021-01-17 2021-01-18 2021-01-19 2021-01-20 2021-01-21 2021-01-22 2021-01-23 2021-01-24 2021-01-25 2021-01-26 2021-01-27 2021-01-28 2021-01-29 2021-01-30 2021-01-31 2021-02-010
2021-01-01 2021-01-02 2021-01-03 2021-01-04 2021-01-05 2021-01-06 2021-01-07 2021-01-08 2021-01-09 2021-01-10 2021-01-11 2021-01-12 2021-01-13 2021-01-14 2021-01-15 2021-01-16 2021-01-17 2021-01-18 2021-01-19 2021-01-20 2021-01-21 2021-01-22 2021-01-23 2021-01-24 2021-01-25 2021-01-26 2021-01-27 2021-01-28 2021-01-29 2021-01-30 2021-01-31 2021-02-011
from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
42021-01-01 2021-01-02 2021-01-03 2021-01-04 2021-01-05 2021-01-06 2021-01-07 2021-01-08 2021-01-09 2021-01-10 2021-01-11 2021-01-12 2021-01-13 2021-01-14 2021-01-15 2021-01-16 2021-01-17 2021-01-18 2021-01-19 2021-01-20 2021-01-21 2021-01-22 2021-01-23 2021-01-24 2021-01-25 2021-01-26 2021-01-27 2021-01-28 2021-01-29 2021-01-30 2021-01-31 2021-02-013__
start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part for time_part in datetime_range[start, end, delta]]
# or
for time_part in datetime_range[start, end, delta]:
print[time_part]
1start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part for time_part in datetime_range[start, end, delta]]
# or
for time_part in datetime_range[start, end, delta]:
print[time_part]
22021-01-01 2021-01-02 2021-01-03 2021-01-04 2021-01-05 2021-01-06 2021-01-07 2021-01-08 2021-01-09 2021-01-10 2021-01-11 2021-01-12 2021-01-13 2021-01-14 2021-01-15 2021-01-16 2021-01-17 2021-01-18 2021-01-19 2021-01-20 2021-01-21 2021-01-22 2021-01-23 2021-01-24 2021-01-25 2021-01-26 2021-01-27 2021-01-28 2021-01-29 2021-01-30 2021-01-31 2021-02-018
2021-01-01 2021-01-02 2021-01-03 2021-01-04 2021-01-05 2021-01-06 2021-01-07 2021-01-08 2021-01-09 2021-01-10 2021-01-11 2021-01-12 2021-01-13 2021-01-14 2021-01-15 2021-01-16 2021-01-17 2021-01-18 2021-01-19 2021-01-20 2021-01-21 2021-01-22 2021-01-23 2021-01-24 2021-01-25 2021-01-26 2021-01-27 2021-01-28 2021-01-29 2021-01-30 2021-01-31 2021-02-019
timedelta
0Output:
2022-09-01 2022-09-02 2022-09-03 2022-09-04 2022-09-05 2022-09-06 2022-09-07 2022-09-08 2022-09-09 2022-09-10 2022-09-11
Sử dụng gấu trúc để lặp lại thông qua một loạt các ngàyto Iterate through a range of dates
Chúng ta có thể sử dụng phương thức chức năng Date_Range [] có sẵn trong gấu trúc. Nó được sử dụng để trả về một tần số cố định datetimeindex.
Cú pháp: pandas.date_range [bắt đầu, kết thúc]: pandas.date_range[start, end]
Parameter:
- Bắt đầu là ngày bắt đầu
- Kết thúc là ngày kết thúc
Chúng tôi có thể lặp lại để có được ngày sử dụng hàm ngày [].
Example:
Python3
from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
1 timedelta
2timedelta
3
from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
4 timedelta
5from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
4timedelta
72021-01-01 2021-01-02 2021-01-03 2021-01-04 2021-01-05 2021-01-06 2021-01-07 2021-01-08 2021-01-09 2021-01-10 2021-01-11 2021-01-12 2021-01-13 2021-01-14 2021-01-15 2021-01-16 2021-01-17 2021-01-18 2021-01-19 2021-01-20 2021-01-21 2021-01-22 2021-01-23 2021-01-24 2021-01-25 2021-01-26 2021-01-27 2021-01-28 2021-01-29 2021-01-30 2021-01-31 2021-02-01
from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
4from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
00async def datetime_range[start: datetime, end: datetime, delta: timedelta] -> AsyncGenerator[datetime, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
12022-09-01 2022-09-02 2022-09-03 2022-09-04 2022-09-05 2022-09-06 2022-09-07 2022-09-08 2022-09-09 2022-09-10 2022-09-118
from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
032021-01-01 2021-01-02 2021-01-03 2021-01-04 2021-01-05 2021-01-06 2021-01-07 2021-01-08 2021-01-09 2021-01-10 2021-01-11 2021-01-12 2021-01-13 2021-01-14 2021-01-15 2021-01-16 2021-01-17 2021-01-18 2021-01-19 2021-01-20 2021-01-21 2021-01-22 2021-01-23 2021-01-24 2021-01-25 2021-01-26 2021-01-27 2021-01-28 2021-01-29 2021-01-30 2021-01-31 2021-02-010
from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
05start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part for time_part in datetime_range[start, end, delta]]
# or
for time_part in datetime_range[start, end, delta]:
print[time_part]
1start = datetime[2020, 10, 10, 10, 00]
end = datetime[2022, 10, 10, 18, 00]
delta = timedelta[minutes=30]
result = [time_part for time_part in datetime_range[start, end, delta]]
# or
for time_part in datetime_range[start, end, delta]:
print[time_part]
2from datetime import datetime, timedelta
from typing import Generator
def datetime_range[start: datetime, end: datetime, delta: timedelta] -> Generator[datetime, None, None]:
delta_units = int[[end - start] / delta]
for _ in range[delta_units + 1]:
yield start
start += delta
08Output::
2021-01-01 2021-01-02 2021-01-03 2021-01-04 2021-01-05 2021-01-06 2021-01-07 2021-01-08 2021-01-09 2021-01-10 2021-01-11 2021-01-12 2021-01-13 2021-01-14 2021-01-15 2021-01-16 2021-01-17 2021-01-18 2021-01-19 2021-01-20 2021-01-21 2021-01-22 2021-01-23 2021-01-24 2021-01-25 2021-01-26 2021-01-27 2021-01-28 2021-01-29 2021-01-30 2021-01-31 2021-02-01