Một phương thức chung cho phép tạo phạm vi ngày trên kích thước cửa sổ được tham số [ngày, phút, giờ, giây]:
from datetime import datetime, timedelta
def create_date_ranges[start, end, **interval]:
start_ = start
while start_ < end:
end_ = start_ + timedelta[**interval]
yield [start_, min[end_, end]]
start_ = end_
Tests:
def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
Đầu ra kiểm tra:
Interval: {'days': 1}, range[2021-11-15:00:00:00 to 2021-11-17:13:00:00]
[['2021-11-15:00:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-17:00:00:00'], ['2021-11-17:00:00:00', '2021-11-17:13:00:00']]
Interval: {'hours': 12}, range[2021-11-15:00:00:00 to 2021-11-16:13:00:00]
[['2021-11-15:00:00:00', '2021-11-15:12:00:00'], ['2021-11-15:12:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-16:12:00:00'], ['2021-11-16:12:00:00', '2021-11-16:13:00:00']]
Interval: {'minutes': 30}, range[2021-11-15:00:00:00 to 2021-11-15:01:45:00]
[['2021-11-15:00:00:00', '2021-11-15:00:30:00'], ['2021-11-15:00:30:00', '2021-11-15:01:00:00'], ['2021-11-15:01:00:00', '2021-11-15:01:30:00'], ['2021-11-15:01:30:00', '2021-11-15:01:45:00']]
Interval: {'seconds': 30}, range[2021-11-15:00:00:00 to 2021-11-15:00:01:12]
[['2021-11-15:00:00:00', '2021-11-15:00:00:30'], ['2021-11-15:00:00:30', '2021-11-15:00:01:00'], ['2021-11-15:00:01:00', '2021-11-15:00:01:12']]
Next K dates list: ['2022-08-12', '2022-08-13', '2022-08-14', '2022-08-15', '2022-08-16']2
def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
0 Next K dates list: ['2022-08-12', '2022-08-13', '2022-08-14', '2022-08-15', '2022-08-16']4
Next K dates list: ['2022-08-12', '2022-08-13', '2022-08-14', '2022-08-15', '2022-08-16']5
Examples:
Đầu vào: test_date = datetime.datetime [1997, 1, 4], k = 5 test_date = datetime.datetime[1997, 1, 4], K = 5
Đầu ra: [ [1997, 1, 8]] [datetime.datetime[1997, 1, 4], datetime.datetime[1997, 1, 5], datetime.datetime[1997, 1, 6], datetime.datetime[1997, 1, 7], datetime.datetime[1997, 1, 8]]
Giải thích: 5 ngày sau ngày 4 tháng 1 được trích xuất trong danh sách. 5 dates after 4 January are extracted in list.
Tạo danh sách ngày sử dụng pd.date_range
Trong phương pháp này, chúng tôi sẽ sử dụng Pandas Date_Range để tạo một danh sách các phạm vi ngày trong Python.
Python3
import
datetime
import
pandas as pd
test_date
____10
def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
1def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
2def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
3def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
4def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
5def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
6def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
0 def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
8def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
9def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
0 Interval: {'days': 1}, range[2021-11-15:00:00:00 to 2021-11-17:13:00:00]
[['2021-11-15:00:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-17:00:00:00'], ['2021-11-17:00:00:00', '2021-11-17:13:00:00']]
Interval: {'hours': 12}, range[2021-11-15:00:00:00 to 2021-11-16:13:00:00]
[['2021-11-15:00:00:00', '2021-11-15:12:00:00'], ['2021-11-15:12:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-16:12:00:00'], ['2021-11-16:12:00:00', '2021-11-16:13:00:00']]
Interval: {'minutes': 30}, range[2021-11-15:00:00:00 to 2021-11-15:01:45:00]
[['2021-11-15:00:00:00', '2021-11-15:00:30:00'], ['2021-11-15:00:30:00', '2021-11-15:01:00:00'], ['2021-11-15:01:00:00', '2021-11-15:01:30:00'], ['2021-11-15:01:30:00', '2021-11-15:01:45:00']]
Interval: {'seconds': 30}, range[2021-11-15:00:00:00 to 2021-11-15:00:01:12]
[['2021-11-15:00:00:00', '2021-11-15:00:00:30'], ['2021-11-15:00:00:30', '2021-11-15:00:01:00'], ['2021-11-15:00:01:00', '2021-11-15:00:01:12']]
1def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
0Interval: {'days': 1}, range[2021-11-15:00:00:00 to 2021-11-17:13:00:00]
[['2021-11-15:00:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-17:00:00:00'], ['2021-11-17:00:00:00', '2021-11-17:13:00:00']]
Interval: {'hours': 12}, range[2021-11-15:00:00:00 to 2021-11-16:13:00:00]
[['2021-11-15:00:00:00', '2021-11-15:12:00:00'], ['2021-11-15:12:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-16:12:00:00'], ['2021-11-16:12:00:00', '2021-11-16:13:00:00']]
Interval: {'minutes': 30}, range[2021-11-15:00:00:00 to 2021-11-15:01:45:00]
[['2021-11-15:00:00:00', '2021-11-15:00:30:00'], ['2021-11-15:00:30:00', '2021-11-15:01:00:00'], ['2021-11-15:01:00:00', '2021-11-15:01:30:00'], ['2021-11-15:01:30:00', '2021-11-15:01:45:00']]
Interval: {'seconds': 30}, range[2021-11-15:00:00:00 to 2021-11-15:00:01:12]
[['2021-11-15:00:00:00', '2021-11-15:00:00:30'], ['2021-11-15:00:00:30', '2021-11-15:00:01:00'], ['2021-11-15:00:01:00', '2021-11-15:00:01:12']]
3Interval: {'days': 1}, range[2021-11-15:00:00:00 to 2021-11-17:13:00:00]
[['2021-11-15:00:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-17:00:00:00'], ['2021-11-17:00:00:00', '2021-11-17:13:00:00']]
Interval: {'hours': 12}, range[2021-11-15:00:00:00 to 2021-11-16:13:00:00]
[['2021-11-15:00:00:00', '2021-11-15:12:00:00'], ['2021-11-15:12:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-16:12:00:00'], ['2021-11-16:12:00:00', '2021-11-16:13:00:00']]
Interval: {'minutes': 30}, range[2021-11-15:00:00:00 to 2021-11-15:01:45:00]
[['2021-11-15:00:00:00', '2021-11-15:00:30:00'], ['2021-11-15:00:30:00', '2021-11-15:01:00:00'], ['2021-11-15:01:00:00', '2021-11-15:01:30:00'], ['2021-11-15:01:30:00', '2021-11-15:01:45:00']]
Interval: {'seconds': 30}, range[2021-11-15:00:00:00 to 2021-11-15:00:01:12]
[['2021-11-15:00:00:00', '2021-11-15:00:00:30'], ['2021-11-15:00:00:30', '2021-11-15:00:01:00'], ['2021-11-15:00:01:00', '2021-11-15:00:01:12']]
4Interval: {'days': 1}, range[2021-11-15:00:00:00 to 2021-11-17:13:00:00]
[['2021-11-15:00:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-17:00:00:00'], ['2021-11-17:00:00:00', '2021-11-17:13:00:00']]
Interval: {'hours': 12}, range[2021-11-15:00:00:00 to 2021-11-16:13:00:00]
[['2021-11-15:00:00:00', '2021-11-15:12:00:00'], ['2021-11-15:12:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-16:12:00:00'], ['2021-11-16:12:00:00', '2021-11-16:13:00:00']]
Interval: {'minutes': 30}, range[2021-11-15:00:00:00 to 2021-11-15:01:45:00]
[['2021-11-15:00:00:00', '2021-11-15:00:30:00'], ['2021-11-15:00:30:00', '2021-11-15:01:00:00'], ['2021-11-15:01:00:00', '2021-11-15:01:30:00'], ['2021-11-15:01:30:00', '2021-11-15:01:45:00']]
Interval: {'seconds': 30}, range[2021-11-15:00:00:00 to 2021-11-15:00:01:12]
[['2021-11-15:00:00:00', '2021-11-15:00:00:30'], ['2021-11-15:00:00:30', '2021-11-15:00:01:00'], ['2021-11-15:00:01:00', '2021-11-15:00:01:12']]
5def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
4Interval: {'days': 1}, range[2021-11-15:00:00:00 to 2021-11-17:13:00:00]
[['2021-11-15:00:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-17:00:00:00'], ['2021-11-17:00:00:00', '2021-11-17:13:00:00']]
Interval: {'hours': 12}, range[2021-11-15:00:00:00 to 2021-11-16:13:00:00]
[['2021-11-15:00:00:00', '2021-11-15:12:00:00'], ['2021-11-15:12:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-16:12:00:00'], ['2021-11-16:12:00:00', '2021-11-16:13:00:00']]
Interval: {'minutes': 30}, range[2021-11-15:00:00:00 to 2021-11-15:01:45:00]
[['2021-11-15:00:00:00', '2021-11-15:00:30:00'], ['2021-11-15:00:30:00', '2021-11-15:01:00:00'], ['2021-11-15:01:00:00', '2021-11-15:01:30:00'], ['2021-11-15:01:30:00', '2021-11-15:01:45:00']]
Interval: {'seconds': 30}, range[2021-11-15:00:00:00 to 2021-11-15:00:01:12]
[['2021-11-15:00:00:00', '2021-11-15:00:00:30'], ['2021-11-15:00:00:30', '2021-11-15:00:01:00'], ['2021-11-15:00:01:00', '2021-11-15:00:01:12']]
7Output:
Index[['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object']
Tạo danh sách các ngày sử dụng thời gian [] + Danh sách hiểu biếttimedelta[] + list comprehension
Trong đó, chúng ta có thể thêm các đồng bằng liên tiếp vào ngày bằng thời gian bằng thời gian [] và danh sách hiểu được sử dụng để lặp lại thông qua kích thước cần thiết và xây dựng kết quả cần thiết.
Python3
import
datetime
import
pandas as pd
def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
6def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
0 def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
8def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
9def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
0 Interval: {'days': 1}, range[2021-11-15:00:00:00 to 2021-11-17:13:00:00]
[['2021-11-15:00:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-17:00:00:00'], ['2021-11-17:00:00:00', '2021-11-17:13:00:00']]
Interval: {'hours': 12}, range[2021-11-15:00:00:00 to 2021-11-16:13:00:00]
[['2021-11-15:00:00:00', '2021-11-15:12:00:00'], ['2021-11-15:12:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-16:12:00:00'], ['2021-11-16:12:00:00', '2021-11-16:13:00:00']]
Interval: {'minutes': 30}, range[2021-11-15:00:00:00 to 2021-11-15:01:45:00]
[['2021-11-15:00:00:00', '2021-11-15:00:30:00'], ['2021-11-15:00:30:00', '2021-11-15:01:00:00'], ['2021-11-15:01:00:00', '2021-11-15:01:30:00'], ['2021-11-15:01:30:00', '2021-11-15:01:45:00']]
Interval: {'seconds': 30}, range[2021-11-15:00:00:00 to 2021-11-15:00:01:12]
[['2021-11-15:00:00:00', '2021-11-15:00:00:30'], ['2021-11-15:00:00:30', '2021-11-15:00:01:00'], ['2021-11-15:00:01:00', '2021-11-15:00:01:12']]
1def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
0Interval: {'days': 1}, range[2021-11-15:00:00:00 to 2021-11-17:13:00:00]
[['2021-11-15:00:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-17:00:00:00'], ['2021-11-17:00:00:00', '2021-11-17:13:00:00']]
Interval: {'hours': 12}, range[2021-11-15:00:00:00 to 2021-11-16:13:00:00]
[['2021-11-15:00:00:00', '2021-11-15:12:00:00'], ['2021-11-15:12:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-16:12:00:00'], ['2021-11-16:12:00:00', '2021-11-16:13:00:00']]
Interval: {'minutes': 30}, range[2021-11-15:00:00:00 to 2021-11-15:01:45:00]
[['2021-11-15:00:00:00', '2021-11-15:00:30:00'], ['2021-11-15:00:30:00', '2021-11-15:01:00:00'], ['2021-11-15:01:00:00', '2021-11-15:01:30:00'], ['2021-11-15:01:30:00', '2021-11-15:01:45:00']]
Interval: {'seconds': 30}, range[2021-11-15:00:00:00 to 2021-11-15:00:01:12]
[['2021-11-15:00:00:00', '2021-11-15:00:00:30'], ['2021-11-15:00:00:30', '2021-11-15:00:01:00'], ['2021-11-15:00:01:00', '2021-11-15:00:01:12']]
3Tạo danh sách các ngày sử dụng thời gian [] + Danh sách hiểu biết
Output:
Trong đó, chúng ta có thể thêm các đồng bằng liên tiếp vào ngày bằng thời gian bằng thời gian [] và danh sách hiểu được sử dụng để lặp lại thông qua kích thước cần thiết và xây dựng kết quả cần thiết.
test_date
0def main[]: tests = [ ['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}], ['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}], ['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}], ['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}] ] for t in tests: print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]] start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S'] end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S'] ranges = list[create_date_ranges[start, end, **t[2]]] x = list[map[ lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']], ranges ]] print[x] main[]
Index[['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object']2Index[['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object']33def main[]: tests = [ ['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}], ['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}], ['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}], ['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}] ] for t in tests: print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]] start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S'] end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S'] ranges = list[create_date_ranges[start, end, **t[2]]] x = list[map[ lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']], ranges ]] print[x] main[]
Index[['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object']53def main[]: tests = [ ['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}], ['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}], ['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}], ['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}] ] for t in tests: print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]] start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S'] end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S'] ranges = list[create_date_ranges[start, end, **t[2]]] x = list[map[ lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']], ranges ]] print[x] main[]
Index[['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object']75def main[]: tests = [ ['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}], ['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}], ['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}], ['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}] ] for t in tests: print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]] start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S'] end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S'] ranges = list[create_date_ranges[start, end, **t[2]]] x = list[map[ lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']], ranges ]] print[x] main[]
Next K dates list: ['2022-08-12', '2022-08-13', '2022-08-14', '2022-08-15', '2022-08-16']
2def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
0 Next K dates list: ['2022-08-12', '2022-08-13', '2022-08-14', '2022-08-15', '2022-08-16']
4Next K dates list: ['2022-08-12', '2022-08-13', '2022-08-14', '2022-08-15', '2022-08-16']
5Python Loop
def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
Interval: {'days': 1}, range[2021-11-15:00:00:00 to 2021-11-17:13:00:00]
[['2021-11-15:00:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-17:00:00:00'], ['2021-11-17:00:00:00', '2021-11-17:13:00:00']]
Interval: {'hours': 12}, range[2021-11-15:00:00:00 to 2021-11-16:13:00:00]
[['2021-11-15:00:00:00', '2021-11-15:12:00:00'], ['2021-11-15:12:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-16:12:00:00'], ['2021-11-16:12:00:00', '2021-11-16:13:00:00']]
Interval: {'minutes': 30}, range[2021-11-15:00:00:00 to 2021-11-15:01:45:00]
[['2021-11-15:00:00:00', '2021-11-15:00:30:00'], ['2021-11-15:00:30:00', '2021-11-15:01:00:00'], ['2021-11-15:01:00:00', '2021-11-15:01:30:00'], ['2021-11-15:01:30:00', '2021-11-15:01:45:00']]
Interval: {'seconds': 30}, range[2021-11-15:00:00:00 to 2021-11-15:00:01:12]
[['2021-11-15:00:00:00', '2021-11-15:00:00:30'], ['2021-11-15:00:00:30', '2021-11-15:00:01:00'], ['2021-11-15:00:01:00', '2021-11-15:00:01:12']]
4import
55____56 Next K dates list: ['2022-08-12', '2022-08-13', '2022-08-14', '2022-08-15', '2022-08-16']5
import
8import
9Python3
import
datetime
import
pandas as pd
def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
6def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
0 def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
8def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
9def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
0 Interval: {'days': 1}, range[2021-11-15:00:00:00 to 2021-11-17:13:00:00]
[['2021-11-15:00:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-17:00:00:00'], ['2021-11-17:00:00:00', '2021-11-17:13:00:00']]
Interval: {'hours': 12}, range[2021-11-15:00:00:00 to 2021-11-16:13:00:00]
[['2021-11-15:00:00:00', '2021-11-15:12:00:00'], ['2021-11-15:12:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-16:12:00:00'], ['2021-11-16:12:00:00', '2021-11-16:13:00:00']]
Interval: {'minutes': 30}, range[2021-11-15:00:00:00 to 2021-11-15:01:45:00]
[['2021-11-15:00:00:00', '2021-11-15:00:30:00'], ['2021-11-15:00:30:00', '2021-11-15:01:00:00'], ['2021-11-15:01:00:00', '2021-11-15:01:30:00'], ['2021-11-15:01:30:00', '2021-11-15:01:45:00']]
Interval: {'seconds': 30}, range[2021-11-15:00:00:00 to 2021-11-15:00:01:12]
[['2021-11-15:00:00:00', '2021-11-15:00:00:30'], ['2021-11-15:00:00:30', '2021-11-15:00:01:00'], ['2021-11-15:00:01:00', '2021-11-15:00:01:12']]
1def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
0Interval: {'days': 1}, range[2021-11-15:00:00:00 to 2021-11-17:13:00:00]
[['2021-11-15:00:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-17:00:00:00'], ['2021-11-17:00:00:00', '2021-11-17:13:00:00']]
Interval: {'hours': 12}, range[2021-11-15:00:00:00 to 2021-11-16:13:00:00]
[['2021-11-15:00:00:00', '2021-11-15:12:00:00'], ['2021-11-15:12:00:00', '2021-11-16:00:00:00'], ['2021-11-16:00:00:00', '2021-11-16:12:00:00'], ['2021-11-16:12:00:00', '2021-11-16:13:00:00']]
Interval: {'minutes': 30}, range[2021-11-15:00:00:00 to 2021-11-15:01:45:00]
[['2021-11-15:00:00:00', '2021-11-15:00:30:00'], ['2021-11-15:00:30:00', '2021-11-15:01:00:00'], ['2021-11-15:01:00:00', '2021-11-15:01:30:00'], ['2021-11-15:01:30:00', '2021-11-15:01:45:00']]
Interval: {'seconds': 30}, range[2021-11-15:00:00:00 to 2021-11-15:00:01:12]
[['2021-11-15:00:00:00', '2021-11-15:00:00:30'], ['2021-11-15:00:00:30', '2021-11-15:00:01:00'], ['2021-11-15:00:01:00', '2021-11-15:00:01:12']]
3Tạo danh sách các ngày sử dụng thời gian [] + Danh sách hiểu biết
Trong đó, chúng ta có thể thêm các đồng bằng liên tiếp vào ngày bằng thời gian bằng thời gian [] và danh sách hiểu được sử dụng để lặp lại thông qua kích thước cần thiết và xây dựng kết quả cần thiết.
pandas as pd
2test_date
1
test_date
def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
0 Index[['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object']2
Index[['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object']3
def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
3Index[['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object']5
def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
3Index[['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object']7
def main[]:
tests = [
['2021-11-15:00:00:00', '2021-11-17:13:00:00', {'days': 1}],
['2021-11-15:00:00:00', '2021-11-16:13:00:00', {'hours': 12}],
['2021-11-15:00:00:00', '2021-11-15:01:45:00', {'minutes': 30}],
['2021-11-15:00:00:00', '2021-11-15:00:01:12', {'seconds': 30}]
]
for t in tests:
print["\nInterval: %s, range[%s to %s]" % [t[2], t[0], t[1]]]
start = datetime.strptime[t[0], '%Y-%m-%d:%H:%M:%S']
end = datetime.strptime[t[1], '%Y-%m-%d:%H:%M:%S']
ranges = list[create_date_ranges[start, end, **t[2]]]
x = list[map[
lambda x: [x[0].strftime['%Y-%m-%d:%H:%M:%S'], x[1].strftime['%Y-%m-%d:%H:%M:%S']],
ranges
]]
print[x]
main[]
5Output:
Next K dates list: ['2022-08-12', '2022-08-13', '2022-08-14', '2022-08-15', '2022-08-16']