Hướng dẫn how do i add date and time together in python? - làm cách nào để thêm ngày và giờ với nhau trong python?

263

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có hai đối tượng đại diện cho cùng một thể hiện sự kiện --- một đối tượng giữ ngày, thời gian còn lại của sự kiện này và tôi muốn tạo một đối tượng DateTime.

Vì người ta không thể chỉ cần thêm các đối tượng ngày và thời gian (cuộc gọi sau không thành công):

 datetime.date(2011, 01, 01) + datetime.time(10, 23)

Hướng dẫn how do i add date and time together in python? - làm cách nào để thêm ngày và giờ với nhau trong python?

Demis

4.7854 Huy hiệu vàng22 Huy hiệu bạc32 Huy hiệu Đồng4 gold badges22 silver badges32 bronze badges

Hỏi ngày 12 tháng 12 năm 2011 lúc 12:57Dec 12, 2011 at 12:57

Hướng dẫn how do i add date and time together in python? - làm cách nào để thêm ngày và giờ với nhau trong python?

1

Đó là trong các tài liệu Python.

import datetime
datetime.datetime.combine(datetime.date(2011, 1, 1), 
                          datetime.time(10, 23))

trả lại

datetime.datetime(2011, 1, 1, 10, 23)

Hướng dẫn how do i add date and time together in python? - làm cách nào để thêm ngày và giờ với nhau trong python?

Brad Solomon

358K29 Huy hiệu vàng136 Huy hiệu bạc217 Huy hiệu đồng29 gold badges136 silver badges217 bronze badges

Đã trả lời ngày 12 tháng 12 năm 2011 lúc 12:59Dec 12, 2011 at 12:59

Eumiroeumiroeumiro

199K34 Huy hiệu vàng294 Huy hiệu bạc259 Huy hiệu Đồng34 gold badges294 silver badges259 bronze badges

6

Sử dụng các mô-đun tích hợp DateTime và TimEdelta, bạn có thể thực hiện bổ sung/trừ ngày và thời gian trong Python:datetime and timedelta, you can perform date and time addition/subtraction in python:

from datetime import datetime
from datetime import timedelta

#Add 1 day
print datetime.now() + timedelta(days=1)

#Subtract 60 seconds
print datetime.now() - timedelta(seconds=60)

#Add 2 years
print datetime.now() + timedelta(days=730)

#Other Parameters you can pass in to timedelta:
# days, seconds, microseconds, 
# milliseconds, minutes, hours, weeks

#Pass multiple parameters (1 day and 5 minutes)
print datetime.now() + timedelta(days=1,minutes=5)

Dưới đây là một tài liệu tham khảo Python cung cấp nhiều ví dụ và tính năng nâng cao hơn: http://docs.python.org/l Library/datetime.html
http://docs.python.org/library/datetime.html

Nếu bạn đến từ môi trường .NET hoặc SQL, đây là các ví dụ trên trong C# và SQL (Microsoft) để so sánh: C#
C#

DateTime myTime = new DateTime();

--Add 1 day
myTime.AddDays(1);

--Subtract 60 seconds
myTime.AddSeconds(-60);

--Add 2 years
myTime.AddYears(2);

SQL

--Add 1 day
select DATEADD(day, 1, getdate())

--Subtract 60 seconds
select DATEADD(second, -60, getdate())

--Add 2 years
select DATEADD(Year, 2, getdate())

Hướng dẫn how do i add date and time together in python? - làm cách nào để thêm ngày và giờ với nhau trong python?

C#, Python, SQL

Sử dụng lớp TimeDelta () từ mô -đun DateTime để thêm thời gian vào DateTime, ví dụ: Kết quả = dt + Timedelta (giờ = 2, phút = 25, giây = 24). Lớp Timedelta có thể được thông qua các đối số, phút và giây và thêm thời gian quy định cho DateTime.

DateTime DateTime bây giờ () trong Python là gì?

Ở đây, chúng tôi đã sử dụng DateTime.now () để có được ngày và giờ hiện tại. Sau đó, chúng tôi đã sử dụng strftime () để tạo một chuỗi biểu diễn ngày và thời gian ở định dạng khác.

  • Xem thảo luận
  • Cải thiện bài viết
  • Sử dụng lớp TimeDelta () từ mô -đun DateTime để thêm thời gian vào DateTime, ví dụ: Kết quả = dt + Timedelta (giờ = 2, phút = 25, giây = 24). Lớp Timedelta có thể được thông qua các đối số, phút và giây và thêm thời gian quy định cho DateTime.

    DateTime DateTime bây giờ () trong Python là gì?

    Ở đây, chúng tôi đã sử dụng DateTime.now () để có được ngày và giờ hiện tại. Sau đó, chúng tôi đã sử dụng strftime () để tạo một chuỗi biểu diễn ngày và thời gian ở định dạng khác.

    Xem thảo luậndatetime.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.

    Cải thiện bài viếtdatetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

    Lưu bài viết This function returns the manipulated date.

    Đọc

    Bàn luậnAdding time to DateTime object

    Python3

    import

    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    0

    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    1
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    2
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    3
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    4
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    5
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    6
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    5
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    8
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    5
    datetime.datetime(2011, 1, 1, 10, 23)
    
    0
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    5
    datetime.datetime(2011, 1, 1, 10, 23)
    
    222215

    datetime.datetime(2011, 1, 1, 10, 23)
    
    6
    datetime.datetime(2011, 1, 1, 10, 23)
    
    7
    datetime.datetime(2011, 1, 1, 10, 23)
    
    8
    datetime.datetime(2011, 1, 1, 10, 23)
    
    5

    datetime.datetime(2011, 1, 1, 10, 23)
    
    6
    from datetime import datetime
    from datetime import timedelta
    
    #Add 1 day
    print datetime.now() + timedelta(days=1)
    
    #Subtract 60 seconds
    print datetime.now() - timedelta(seconds=60)
    
    #Add 2 years
    print datetime.now() + timedelta(days=730)
    
    #Other Parameters you can pass in to timedelta:
    # days, seconds, microseconds, 
    # milliseconds, minutes, hours, weeks
    
    #Pass multiple parameters (1 day and 5 minutes)
    print datetime.now() + timedelta(days=1,minutes=5)
    
    1

    from datetime import datetime
    from datetime import timedelta
    
    #Add 1 day
    print datetime.now() + timedelta(days=1)
    
    #Subtract 60 seconds
    print datetime.now() - timedelta(seconds=60)
    
    #Add 2 years
    print datetime.now() + timedelta(days=730)
    
    #Other Parameters you can pass in to timedelta:
    # days, seconds, microseconds, 
    # milliseconds, minutes, hours, weeks
    
    #Pass multiple parameters (1 day and 5 minutes)
    print datetime.now() + timedelta(days=1,minutes=5)
    
    2
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    2
    from datetime import datetime
    from datetime import timedelta
    
    #Add 1 day
    print datetime.now() + timedelta(days=1)
    
    #Subtract 60 seconds
    print datetime.now() - timedelta(seconds=60)
    
    #Add 2 years
    print datetime.now() + timedelta(days=730)
    
    #Other Parameters you can pass in to timedelta:
    # days, seconds, microseconds, 
    # milliseconds, minutes, hours, weeks
    
    #Pass multiple parameters (1 day and 5 minutes)
    print datetime.now() + timedelta(days=1,minutes=5)
    
    4
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    2__222222

    from datetime import datetime
    from datetime import timedelta
    
    #Add 1 day
    print datetime.now() + timedelta(days=1)
    
    #Subtract 60 seconds
    print datetime.now() - timedelta(seconds=60)
    
    #Add 2 years
    print datetime.now() + timedelta(days=730)
    
    #Other Parameters you can pass in to timedelta:
    # days, seconds, microseconds, 
    # milliseconds, minutes, hours, weeks
    
    #Pass multiple parameters (1 day and 5 minutes)
    print datetime.now() + timedelta(days=1,minutes=5)
    
    8
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    2
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    1
    DateTime myTime = new DateTime();
    
    --Add 1 day
    myTime.AddDays(1);
    
    --Subtract 60 seconds
    myTime.AddSeconds(-60);
    
    --Add 2 years
    myTime.AddYears(2);
    
    1
    DateTime myTime = new DateTime();
    
    --Add 1 day
    myTime.AddDays(1);
    
    --Subtract 60 seconds
    myTime.AddSeconds(-60);
    
    --Add 2 years
    myTime.AddYears(2);
    
    2

    datetime.datetime(2011, 1, 1, 10, 23)
    
    6
    datetime.datetime(2011, 1, 1, 10, 23)
    
    7
    DateTime myTime = new DateTime();
    
    --Add 1 day
    myTime.AddDays(1);
    
    --Subtract 60 seconds
    myTime.AddSeconds(-60);
    
    --Add 2 years
    myTime.AddYears(2);
    
    5
    datetime.datetime(2011, 1, 1, 10, 23)
    
    5

    datetime.datetime(2011, 1, 1, 10, 23)
    
    6
    DateTime myTime = new DateTime();
    
    --Add 1 day
    myTime.AddDays(1);
    
    --Subtract 60 seconds
    myTime.AddSeconds(-60);
    
    --Add 2 years
    myTime.AddYears(2);
    
    8

    Output:

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

    Ví dụ 3: Thay đổi hai tham số cùng một lúcChanging day by adding time to DateTime

    Python3

    import

    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    0

    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    1
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    2
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    3
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    4
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    5
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    6
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    5
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    8
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    5
    datetime.datetime(2011, 1, 1, 10, 23)
    
    0
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    5
    datetime.datetime(2011, 1, 1, 10, 23)
    
    222215

    datetime.datetime(2011, 1, 1, 10, 23)
    
    6
    datetime.datetime(2011, 1, 1, 10, 23)
    
    7
    datetime.datetime(2011, 1, 1, 10, 23)
    
    8
    datetime.datetime(2011, 1, 1, 10, 23)
    
    5

    datetime.datetime(2011, 1, 1, 10, 23)
    
    6
    from datetime import datetime
    from datetime import timedelta
    
    #Add 1 day
    print datetime.now() + timedelta(days=1)
    
    #Subtract 60 seconds
    print datetime.now() - timedelta(seconds=60)
    
    #Add 2 years
    print datetime.now() + timedelta(days=730)
    
    #Other Parameters you can pass in to timedelta:
    # days, seconds, microseconds, 
    # milliseconds, minutes, hours, weeks
    
    #Pass multiple parameters (1 day and 5 minutes)
    print datetime.now() + timedelta(days=1,minutes=5)
    
    1

    from datetime import datetime
    from datetime import timedelta
    
    #Add 1 day
    print datetime.now() + timedelta(days=1)
    
    #Subtract 60 seconds
    print datetime.now() - timedelta(seconds=60)
    
    #Add 2 years
    print datetime.now() + timedelta(days=730)
    
    #Other Parameters you can pass in to timedelta:
    # days, seconds, microseconds, 
    # milliseconds, minutes, hours, weeks
    
    #Pass multiple parameters (1 day and 5 minutes)
    print datetime.now() + timedelta(days=1,minutes=5)
    
    2
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    2
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    4
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    2
    Original time:
    2021-08-22 11:02:05
    changed time:
    2021-08-23 23:02:05
    6
    datetime.datetime(2011, 1, 1, 10, 23)
    
    5

    from datetime import datetime
    from datetime import timedelta
    
    #Add 1 day
    print datetime.now() + timedelta(days=1)
    
    #Subtract 60 seconds
    print datetime.now() - timedelta(seconds=60)
    
    #Add 2 years
    print datetime.now() + timedelta(days=730)
    
    #Other Parameters you can pass in to timedelta:
    # days, seconds, microseconds, 
    # milliseconds, minutes, hours, weeks
    
    #Pass multiple parameters (1 day and 5 minutes)
    print datetime.now() + timedelta(days=1,minutes=5)
    
    8
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    2
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    1
    DateTime myTime = new DateTime();
    
    --Add 1 day
    myTime.AddDays(1);
    
    --Subtract 60 seconds
    myTime.AddSeconds(-60);
    
    --Add 2 years
    myTime.AddYears(2);
    
    1
    DateTime myTime = new DateTime();
    
    --Add 1 day
    myTime.AddDays(1);
    
    --Subtract 60 seconds
    myTime.AddSeconds(-60);
    
    --Add 2 years
    myTime.AddYears(2);
    
    2

    datetime.datetime(2011, 1, 1, 10, 23)
    
    6
    datetime.datetime(2011, 1, 1, 10, 23)
    
    7
    DateTime myTime = new DateTime();
    
    --Add 1 day
    myTime.AddDays(1);
    
    --Subtract 60 seconds
    myTime.AddSeconds(-60);
    
    --Add 2 years
    myTime.AddYears(2);
    
    5
    datetime.datetime(2011, 1, 1, 10, 23)
    
    5

    datetime.datetime(2011, 1, 1, 10, 23)
    
    6
    DateTime myTime = new DateTime();
    
    --Add 1 day
    myTime.AddDays(1);
    
    --Subtract 60 seconds
    myTime.AddSeconds(-60);
    
    --Add 2 years
    myTime.AddYears(2);
    
    8

    Output:

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

    Ví dụ 3: Thay đổi hai tham số cùng một lúcChanging two parameters at the same time

    Python3

    import

    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    0

    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    1
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    2
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    3
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    4
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    5
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    6
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    5
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    8
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    5
    datetime.datetime(2011, 1, 1, 10, 23)
    
    0
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    5
    datetime.datetime(2011, 1, 1, 10, 23)
    
    222215

    datetime.datetime(2011, 1, 1, 10, 23)
    
    6
    datetime.datetime(2011, 1, 1, 10, 23)
    
    7
    datetime.datetime(2011, 1, 1, 10, 23)
    
    8
    datetime.datetime(2011, 1, 1, 10, 23)
    
    5

    datetime.datetime(2011, 1, 1, 10, 23)
    
    6
    from datetime import datetime
    from datetime import timedelta
    
    #Add 1 day
    print datetime.now() + timedelta(days=1)
    
    #Subtract 60 seconds
    print datetime.now() - timedelta(seconds=60)
    
    #Add 2 years
    print datetime.now() + timedelta(days=730)
    
    #Other Parameters you can pass in to timedelta:
    # days, seconds, microseconds, 
    # milliseconds, minutes, hours, weeks
    
    #Pass multiple parameters (1 day and 5 minutes)
    print datetime.now() + timedelta(days=1,minutes=5)
    
    1

    from datetime import datetime
    from datetime import timedelta
    
    #Add 1 day
    print datetime.now() + timedelta(days=1)
    
    #Subtract 60 seconds
    print datetime.now() - timedelta(seconds=60)
    
    #Add 2 years
    print datetime.now() + timedelta(days=730)
    
    #Other Parameters you can pass in to timedelta:
    # days, seconds, microseconds, 
    # milliseconds, minutes, hours, weeks
    
    #Pass multiple parameters (1 day and 5 minutes)
    print datetime.now() + timedelta(days=1,minutes=5)
    
    2
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    2
    from datetime import datetime
    from datetime import timedelta
    
    #Add 1 day
    print datetime.now() + timedelta(days=1)
    
    #Subtract 60 seconds
    print datetime.now() - timedelta(seconds=60)
    
    #Add 2 years
    print datetime.now() + timedelta(days=730)
    
    #Other Parameters you can pass in to timedelta:
    # days, seconds, microseconds, 
    # milliseconds, minutes, hours, weeks
    
    #Pass multiple parameters (1 day and 5 minutes)
    print datetime.now() + timedelta(days=1,minutes=5)
    
    4
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    2__222222

    from datetime import datetime
    from datetime import timedelta
    
    #Add 1 day
    print datetime.now() + timedelta(days=1)
    
    #Subtract 60 seconds
    print datetime.now() - timedelta(seconds=60)
    
    #Add 2 years
    print datetime.now() + timedelta(days=730)
    
    #Other Parameters you can pass in to timedelta:
    # days, seconds, microseconds, 
    # milliseconds, minutes, hours, weeks
    
    #Pass multiple parameters (1 day and 5 minutes)
    print datetime.now() + timedelta(days=1,minutes=5)
    
    8
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    2
    import datetime
    datetime.datetime.combine(datetime.date(2011, 1, 1), 
                              datetime.time(10, 23))
    
    1
    DateTime myTime = new DateTime();
    
    --Add 1 day
    myTime.AddDays(1);
    
    --Subtract 60 seconds
    myTime.AddSeconds(-60);
    
    --Add 2 years
    myTime.AddYears(2);
    
    1
    DateTime myTime = new DateTime();
    
    --Add 1 day
    myTime.AddDays(1);
    
    --Subtract 60 seconds
    myTime.AddSeconds(-60);
    
    --Add 2 years
    myTime.AddYears(2);
    
    2

    datetime.datetime(2011, 1, 1, 10, 23)
    
    6
    datetime.datetime(2011, 1, 1, 10, 23)
    
    7
    DateTime myTime = new DateTime();
    
    --Add 1 day
    myTime.AddDays(1);
    
    --Subtract 60 seconds
    myTime.AddSeconds(-60);
    
    --Add 2 years
    myTime.AddYears(2);
    
    5
    datetime.datetime(2011, 1, 1, 10, 23)
    
    5

    datetime.datetime(2011, 1, 1, 10, 23)
    
    6
    DateTime myTime = new DateTime();
    
    --Add 1 day
    myTime.AddDays(1);
    
    --Subtract 60 seconds
    myTime.AddSeconds(-60);
    
    --Add 2 years
    myTime.AddYears(2);
    
    8

    Output:

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

    Làm thế nào bạn có thể kết hợp ngày và thời gian trong Python?

    Một đối tượng dấu thời gian trong gấu trúc là tương đương với đối tượng DateTime của Python.Nó là sự kết hợp của các trường ngày và thời gian.Để kết hợp ngày và thời gian vào một đối tượng dấu thời gian, chúng tôi sử dụng hàm dấu thời gian.combine () trong gấu trúc.use the Timestamp. combine() function in pandas .

    Làm cách nào để thêm thời gian vào một datetime?

    Sử dụng lớp TimeDelta () từ mô -đun DateTime để thêm thời gian vào DateTime, ví dụ:Kết quả = dt + Timedelta (giờ = 2, phút = 25, giây = 24).Lớp Timedelta có thể được thông qua các đối số, phút và giây và thêm thời gian quy định cho DateTime., e.g. result = dt + timedelta(hours=2, minutes=25, seconds=24) . The timedelta class can be passed the hours , minutes and seconds arguments and adds the specified time to the datetime.

    DateTime DateTime bây giờ () trong Python là gì?

    Ở đây, chúng tôi đã sử dụng DateTime.now () để có được ngày và giờ hiện tại.Sau đó, chúng tôi đã sử dụng strftime () để tạo một chuỗi biểu diễn ngày và thời gian ở định dạng khác.get the current date and time. Then, we used strftime() to create a string representing date and time in another format.