Hướng dẫn how do you write a date in a list in python? - làm thế nào để bạn viết một ngày trong một danh sách 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']
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[]
1
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[]
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[]
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[]
4
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[]
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[]
6
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
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[]
9
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
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']]
1
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
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']]
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']]
4
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']]
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[]
4
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']]
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[]
6
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
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[]
9
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
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']]
1
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
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']]
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']
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[]
3
Index[['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[]
3
Index[['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[]
5

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
Python 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[]
6
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
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[]
9
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
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']]
1
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
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']]
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']
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[]
3
Index[['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[]
3
Index[['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[]
5

Output:

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

Bài Viết Liên Quan

Chủ Đề