Hướng dẫn how do you append time in python? - làm thế nào để bạn thêm thời gian trong python?

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọcdatetime.timedelta() function. The timedelta() function is used for calculating differences in dates and also can be used for date manipulations in Python. It is one of the easiest ways to perform date manipulations.

    Bàn luậndatetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

    Trong bài viết này, chúng tôi sẽ thảo luận về việc bổ sung thời gian vào một đối tượng DateTime được chỉ định trong Python. Hiệu quả của việc này sẽ tạo ra một đối tượng DateTime mới. Sự bổ sung này có thể được thực hiện bằng cách sử dụng hàm datetetime.timedelta (). Hàm TimedelTa () được sử dụng để tính toán sự khác biệt về ngày và cũng có thể được sử dụng để thao tác ngày trong Python. Đó là một trong những cách dễ nhất để thực hiện các thao tác ngày. This function returns the manipulated date.

    Cú pháp:

    Giá trị trả về: Hàm này trả về ngày thao tác.Adding time to DateTime object

    Python3

    Do đó, chỉ bằng cách chuyển một giá trị thích hợp cho các tham số được đưa ra ở trên, nhiệm vụ cần thiết có thể đạt được.

    Ví dụ 1: Thêm thời gian vào đối tượng DateTime

    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    8
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    9
    def add_secs_to_time(timeval, secs_to_add):
        secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
        secs += secs_to_add
        return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)
    
    0
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    7

    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    8
    def add_secs_to_time(timeval, secs_to_add):
        secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
        secs += secs_to_add
        return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)
    
    3

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    1
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    2

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    3
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    4
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    5
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    6
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    8
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    0
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    2
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    4
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    6
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    7

    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    8
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    9
    import datetime
    a = datetime.datetime(100,1,1,11,34,59)
    b = a + datetime.timedelta(0,3) # days, seconds, then other fields.
    print(a.time())
    print(b.time())
    
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    7

    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    8
    11:34:59
    11:35:02
    
    0

    Output:

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 12:17:05

    def add_secs_to_time(timeval, secs_to_add):
        secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
        secs += secs_to_add
        return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)
    
    4
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    4
    def add_secs_to_time(timeval, secs_to_add):
        secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
        secs += secs_to_add
        return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)
    
    6
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    4
    def add_secs_to_time(timeval, secs_to_add):
        secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
        secs += secs_to_add
        return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)
    
    8
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    7
    Changing day by adding time to DateTime

    Python3

    Do đó, chỉ bằng cách chuyển một giá trị thích hợp cho các tham số được đưa ra ở trên, nhiệm vụ cần thiết có thể đạt được.

    Ví dụ 1: Thêm thời gian vào đối tượng DateTime

    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    8
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    9
    def add_secs_to_time(timeval, secs_to_add):
        secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
        secs += secs_to_add
        return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)
    
    0
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    7

    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    8
    def add_secs_to_time(timeval, secs_to_add):
        secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
        secs += secs_to_add
        return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)
    
    3

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    1
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    2

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    3
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    4
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    5
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    6
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    8
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    0
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    2
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    4
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    6
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    7

    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    8
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    9
    import datetime
    a = datetime.datetime(100,1,1,11,34,59)
    b = a + datetime.timedelta(0,3) # days, seconds, then other fields.
    print(a.time())
    print(b.time())
    
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    7

    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    8
    11:34:59
    11:35:02
    
    0

    Output:

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05

    def add_secs_to_time(timeval, secs_to_add):
        secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
        secs += secs_to_add
        return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)
    
    4
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    4
    def add_secs_to_time(timeval, secs_to_add):
        secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
        secs += secs_to_add
        return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)
    
    6
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    4
    def add_secs_to_time(timeval, secs_to_add):
        secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
        secs += secs_to_add
        return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)
    
    8
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    7
    Changing two parameters at the same time

    Python3

    Do đó, chỉ bằng cách chuyển một giá trị thích hợp cho các tham số được đưa ra ở trên, nhiệm vụ cần thiết có thể đạt được.

    Ví dụ 1: Thêm thời gian vào đối tượng DateTime

    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    8
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    9
    def add_secs_to_time(timeval, secs_to_add):
        secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
        secs += secs_to_add
        return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)
    
    0
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    7

    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    8
    def add_secs_to_time(timeval, secs_to_add):
        secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
        secs += secs_to_add
        return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)
    
    3

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    1
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    2

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    3
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    4
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    5
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    6
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    8
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    0
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    2
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    4
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    6
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    7

    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    8
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    9
    import datetime
    a = datetime.datetime(100,1,1,11,34,59)
    b = a + datetime.timedelta(0,3) # days, seconds, then other fields.
    print(a.time())
    print(b.time())
    
    7
    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    7

    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    
    8
    11:34:59
    11:35:02
    
    0

    Output:

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15

    Với giá trị

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    44 trong Python, có cách nào tiêu chuẩn để thêm số nguyên giây vào nó, để
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    45 + 3 =
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    46 chẳng hạn?

    Những ý tưởng rõ ràng này không hoạt động:

    >>> datetime.time(11, 34, 59) + 3
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'
    >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
    >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3)
    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
    

    Cuối cùng, tôi có các chức năng bằng văn bản như thế này:

    def add_secs_to_time(timeval, secs_to_add):
        secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
        secs += secs_to_add
        return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)
    

    Tôi không thể không nghĩ rằng tôi đang thiếu một cách dễ dàng hơn để làm điều này.

    Có liên quan

    • Python Time + Timedelta tương đương

    hỏi ngày 19 tháng 9 năm 2008 lúc 7:19Sep 19, 2008 at 7:19

    Hướng dẫn how do you append time in python? - làm thế nào để bạn thêm thời gian trong python?

    Paul Stephensonpaul StephensonPaul Stephenson

    65,8K9 Huy hiệu vàng49 Huy hiệu bạc51 Huy hiệu Đồng9 gold badges49 silver badges51 bronze badges

    1

    Bạn có thể sử dụng các biến

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    2 đầy đủ với
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    48 và bằng cách cung cấp một ngày giả sau đó sử dụng
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    49 để chỉ nhận được giá trị thời gian.

    Ví dụ:

    import datetime
    a = datetime.datetime(100,1,1,11,34,59)
    b = a + datetime.timedelta(0,3) # days, seconds, then other fields.
    print(a.time())
    print(b.time())
    

    Kết quả trong hai giá trị, cách nhau ba giây:

    11:34:59
    11:35:02
    

    Bạn cũng có thể chọn cách dễ đọc hơn

    b = a + datetime.timedelta(seconds=3)
    

    Nếu bạn rất nghiêng.


    Nếu bạn theo sau một chức năng có thể làm điều này, bạn có thể xem xét bằng cách sử dụng

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    50 bên dưới:

    import datetime
    
    def addSecs(tm, secs):
        fulldate = datetime.datetime(100, 1, 1, tm.hour, tm.minute, tm.second)
        fulldate = fulldate + datetime.timedelta(seconds=secs)
        return fulldate.time()
    
    a = datetime.datetime.now().time()
    b = addSecs(a, 300)
    print(a)
    print(b)
    

    Điều này ra:

     09:11:55.775695
     09:16:55
    

    Đã trả lời ngày 19 tháng 9 năm 2008 lúc 7:54Sep 19, 2008 at 7:54

    Hướng dẫn how do you append time in python? - làm thế nào để bạn thêm thời gian trong python?

    Paxdiablopaxdiablopaxdiablo

    829K227 Huy hiệu vàng1550 Huy hiệu bạc1919 Huy hiệu Đồng227 gold badges1550 silver badges1919 bronze badges

    2

    Như những người khác đã nêu, bạn chỉ có thể sử dụng các đối tượng DateTime đầy đủ trong suốt:

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    0

    Tuy nhiên, tôi nghĩ rằng nó đáng để giải thích tại sao các đối tượng DateTime đầy đủ được yêu cầu. Hãy xem xét những gì sẽ xảy ra nếu tôi thêm 2 giờ vào 11 giờ tối. Hành vi chính xác là gì? Một ngoại lệ, vì bạn không thể có thời gian lớn hơn 11:59 tối? Nó có nên quấn lại xung quanh không?

    Các lập trình viên khác nhau sẽ mong đợi những điều khác nhau, vì vậy bất kỳ kết quả nào họ chọn sẽ gây ngạc nhiên cho rất nhiều người. Tệ hơn nữa, các lập trình viên sẽ viết mã hoạt động tốt khi họ kiểm tra nó ban đầu, và sau đó bị phá vỡ sau đó bằng cách làm điều gì đó bất ngờ. Điều này rất tệ, đó là lý do tại sao bạn không được phép thêm các đối tượng Timedelta vào các đối tượng thời gian.

    Hướng dẫn how do you append time in python? - làm thế nào để bạn thêm thời gian trong python?

    Đã trả lời ngày 19 tháng 9 năm 2008 lúc 13:47Sep 19, 2008 at 13:47

    Eli Courtwrighteli CourtwrightEli Courtwright

    Phim thương hiệu vàng 180K6666 gold badges209 silver badges256 bronze badges

    2

    Một điều nhỏ, có thể thêm độ rõ để ghi đè giá trị mặc định cho giây

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    1

    Đã trả lời ngày 19 tháng 9 năm 2008 lúc 8:08Sep 19, 2008 at 8:08

    0

    Cảm ơn @Pax Diablo, @bvmou và @AchNID vì đề xuất sử dụng các dữ liệu đầy đủ trong suốt. Nếu tôi phải chấp nhận các đối tượng DateTime.

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    2

    Mã dài dòng này có thể được nén vào một lớp này:

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    3

    Nhưng tôi nghĩ rằng tôi muốn kết thúc nó trong một chức năng cho sự rõ ràng của mã.

    Đã trả lời ngày 19 tháng 9 năm 2008 lúc 9:40Sep 19, 2008 at 9:40

    Hướng dẫn how do you append time in python? - làm thế nào để bạn thêm thời gian trong python?

    Paul Stephensonpaul StephensonPaul Stephenson

    65,8K9 Huy hiệu vàng49 Huy hiệu bạc51 Huy hiệu Đồng9 gold badges49 silver badges51 bronze badges

    0

    Bạn không thể chỉ cần thêm số vào

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    2 vì không rõ đơn vị nào được sử dụng: giây, giờ, tuần ...

    Có lớp

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    48 cho các thao tác với ngày và giờ.
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    2 trừ
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    2 cho
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    48,
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    2 cộng với
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    48 cho
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    2, hai đối tượng
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    2 không thể được thêm vào mặc dù hai
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    48 có thể.

    Tạo đối tượng

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    48 với bao nhiêu giây bạn muốn thêm và thêm nó vào đối tượng
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    2:

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    4

    Có cùng một khái niệm trong C ++:

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    64.

    Đã trả lời ngày 18 tháng 1 năm 2018 lúc 7:30Jan 18, 2018 at 7:30

    user2387567user2387567user2387567

    1652 Huy hiệu bạc4 Huy hiệu đồng2 silver badges4 bronze badges

    1

    Nếu nó đáng để thêm một tệp / phụ thuộc khác vào dự án của bạn, tôi chỉ viết một lớp học nhỏ bé mở rộng

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    44 với khả năng thực hiện số học. Khi bạn đi qua nửa đêm, nó quấn quanh số 0. Bây giờ, "sẽ là mấy giờ, 24 giờ kể từ bây giờ" có rất nhiều trường hợp góc, bao gồm thời gian tiết kiệm ánh sáng ban ngày, những giây bước nhảy, thay đổi múi giờ lịch sử, v.v. Nhưng đôi khi bạn thực sự cần trường hợp đơn giản, và đó là những gì điều này sẽ làm.

    Ví dụ của bạn sẽ được viết:

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    5

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    66 kế thừa từ
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    44, vì vậy bất kỳ phương pháp nào cũng có thể sử dụng được.

    Nó có sẵn từ pypi là

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    66 ("Thời gian phi Pedantic") hoặc trên GitHub: https://github.com/tgs/nptime

    Đã trả lời ngày 27 tháng 7 năm 2011 lúc 3:49Jul 27, 2011 at 3:49

    RESCDSKRESCDSKrescdsk

    8.6104 Huy hiệu vàng34 Huy hiệu bạc32 Huy hiệu Đồng4 gold badges34 silver badges32 bronze badges

    Để hoàn thiện, đây là cách để làm điều đó với

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    69 (ngày và thời gian tốt hơn cho Python):

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    6

    Đã trả lời ngày 9 tháng 10 năm 2017 lúc 19:41Oct 9, 2017 at 19:41

    Hướng dẫn how do you append time in python? - làm thế nào để bạn thêm thời gian trong python?

    Trong một môi trường trong thế giới thực, không bao giờ là một ý tưởng tốt để chỉ làm việc với

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    49, luôn luôn sử dụng
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    2, thậm chí tốt hơn
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    72, để tránh các xung đột như qua đêm, tiết kiệm ánh sáng ban ngày, thời gian khác nhau giữa người dùng và máy chủ, v.v.

    Vì vậy, tôi muốn giới thiệu phương pháp này:

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    7

    Đã trả lời ngày 27 tháng 1 năm 2021 lúc 13:44Jan 27, 2021 at 13:44

    VengavengavengaVengaVenga

    4751 huy hiệu vàng7 Huy hiệu bạc1 gold badge7 silver badges11 bronze badges

    Hãy thử thêm

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    73 vào
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    74. Nếu bạn chỉ muốn phần thời gian, bạn có thể gọi phương thức
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    75 trên đối tượng
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    73 kết quả để có được nó.

    Hướng dẫn how do you append time in python? - làm thế nào để bạn thêm thời gian trong python?

    Đã trả lời ngày 19 tháng 9 năm 2008 lúc 7:29Sep 19, 2008 at 7:29

    Nick Johnsonnick JohnsonNick Johnson

    100K16 Huy hiệu vàng128 Huy hiệu bạc197 Huy hiệu đồng16 gold badges128 silver badges197 bronze badges

    Câu hỏi cũ, nhưng tôi hình dung tôi sẽ ném vào một chức năng xử lý thời gian. Các phần chính đang chuyển thuộc tính

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    78 của đối tượng
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    44 vào kết hợp, sau đó sử dụng
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    79 thay vì
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    75 trên Dapetime giả. Câu trả lời này một phần lấy cảm hứng từ các câu trả lời khác ở đây.

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    8

    Và đây là một lớp trường hợp thử nghiệm thực sự đơn giản (sử dụng

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    81 tích hợp):

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    9

    Đã trả lời ngày 14 tháng 8 năm 2019 lúc 15:58Aug 14, 2019 at 15:58

    Hướng dẫn how do you append time in python? - làm thế nào để bạn thêm thời gian trong python?

    Blthayerblthayerblthayer

    6541 Huy hiệu vàng6 Huy hiệu bạc14 Huy hiệu đồng1 gold badge6 silver badges14 bronze badges

    Nếu bạn chưa có đối tượng TimeDelta, một khả năng khác là chỉ cần khởi tạo một đối tượng thời gian mới thay vì các thuộc tính của người cũ và thêm các giá trị khi cần thiết:

    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-22 11:04:15
    0

    Phải thừa nhận rằng điều này chỉ hoạt động nếu bạn đưa ra một vài giả định về các giá trị của bạn, vì tràn không được xử lý ở đây. Nhưng tôi chỉ nghĩ rằng nó đáng để ghi nhớ điều này vì nó có thể tiết kiệm một hoặc hai dòng

    Đã trả lời ngày 30 tháng 3 lúc 8:52Mar 30 at 8:52

    Làm cách nào để nối DateTime trong Python?

    Làm cách nào để nối một ngày trong Python ?..
    Từ DateTime Nhập DateTime ..
    Từ DateTime Nhập Timedelta ..
    #Add 1 ngày ..
    in datetime.now () + Timedelta (ngày = 1).
    #SubTract 60 giây ..
    in datetime.now () - TimedelTa (giây = 60).
    #Add 2 năm ..
    in datetime.now () + Timedelta (ngày = 730).

    Tôi có thể thêm thời gian trong Python không?

    Sự bổ sung này có thể được thực hiện bằng cách sử dụng hàm DateTime.timedelta ().Hàm TimedelTa () được sử dụng để tính toán sự khác biệt về ngày và cũng có thể được sử dụng để thao tác ngày trong Python.Đó là một trong những cách dễ nhất để thực hiện các thao tác ngày. timedelta() function. The timedelta() function is used for calculating differences in dates and also can be used for date manipulations in Python. It is one of the easiest ways to perform date manipulations.

    Làm thế nào để bạn thêm 2 giờ trong Python?

    Sử dụng lớp TimeDelta () từ mô -đun DateTime để thêm giờ vào DateTime, ví dụ:Kết quả = dt + Timedelta (giờ = 10).Lớp Timedelta có thể được thông qua một đối số giờ và thêm số giờ được chỉ định vào DateTime., e.g. result = dt + timedelta(hours=10) . The timedelta class can be passed a hours argument and adds the specified number of hours to the datetime.

    Làm cách nào để thêm thời gian vào một chuỗi trong Python?

    Thêm phút vào dấu thời gian trong Python bằng thời gian..
    Bước 1: Nếu dấu thời gian đã cho ở định dạng chuỗi, thì hãy chuyển đổi nó thành đối tượng DateTime bằng DateTime.....
    Bước 2: Tạo một đối tượng của Timedelta, để biểu thị khoảng N phút.....
    Bước 3: Thêm đối tượng TimeDelta vào đối tượng DateTime được tạo trong Bước 1 ..