Hướng dẫn how do you find the range of a date in python? - làm thế nào để bạn tìm thấy phạm vi của một ngày trong python?

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']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']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() 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() 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() 8

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() 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')] 3

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')] 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')] 7

Output:

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() 8

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() 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')] 3

Tạ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 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')2Index(['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object')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() 3Index(['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object')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() 3Index(['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object')7def 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() 5

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

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')] 4import55____56 Next K dates list: ['2022-08-12', '2022-08-13', '2022-08-14', '2022-08-15', '2022-08-16']5 import8import9

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() 8

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() 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')] 3

Tạ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 pd2test_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')2Index(['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object')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() 3Index(['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object')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() 3Index(['01-07-2022', '02-07-2022', '03-07-2022', '04-07-2022', '05-07-2022'], dtype='object')7def 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() 5

Output:

Next K dates list: ['2022-08-12', '2022-08-13', '2022-08-14', '2022-08-15', '2022-08-16']

Chủ đề