Cách thêm thời gian vào datetime, Python

Sử dụng lớp

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
8 từ mô-đun
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
9 để thêm thời gian vào datetime, e. g.
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
0. Lớp
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
1 có thể được chuyển qua các đối số
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
2,
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
3 và
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
4 và thêm thời gian đã chỉ định vào datetime

Nếu bạn chỉ có một thành phần thời gian, e. g.

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
5 cuộn xuống đoạn mã cuối cùng

Đảm bảo nhập

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
9 và các lớp từ mô-đun
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
9

Ví dụ đầu tiên sử dụng lớp để tạo một đối tượng

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
9

Chúng tôi đã chuyển các giá trị cho các đối số

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
91,
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
92,
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
93,
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
94,
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
95 và
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
96

Khi chúng ta có một đối tượng

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
9, chúng ta có thể sử dụng lớp
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
1 để thêm thời gian cho nó

Lớp

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
1 có thể được thông qua các đối số
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
00,
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
01,
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
2,
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
3,
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
4,
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
05 và
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
06

Tất cả các đối số là tùy chọn và mặc định là

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
07

Ví dụ thứ hai thêm thời gian vào thời điểm hiện tại

Phương thức trả về datetime cục bộ hiện tại

Chúng ta cần sử dụng một đối tượng

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
9 vì nó tự động cuộn qua phút, giờ, ngày, tháng và năm nếu cần

Điều này sẽ không thể thực hiện được nếu chúng ta chỉ có thành phần thời gian. Ví dụ:

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
09 +
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
10 giờ sẽ đưa ra một ngoại lệ

Nếu bạn chỉ có thành phần thời gian, hãy sử dụng phương pháp

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
11 để kết hợp thời gian với ngày hiện tại [hoặc một số khác] và nhận đối tượng
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
9

Phương thức lấy một đối số là

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
13 và
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
14 và trả về một đối tượng
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
9 mới bằng cách kết hợp chúng

Khi chúng tôi nhận được một đối tượng

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
9, chúng tôi có thể sử dụng lớp
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
1 để thêm thời gian cho nó

Sử dụng phương thức

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
18 trên đối tượng
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
9 nếu bạn chỉ cần trích xuất thời gian sau thao tác

Vấn đề. Đưa ra một ngày giờ. datetime trong Python, có cách nào để thêm thời gian vào đối tượng datetime đã cho không?

Câu hỏi liên quan trên StackOverflow

Thảo luận. Việc thêm thời gian vào một đối tượng datetime trong Python sẽ dẫn đến một đối tượng datetime mới với thông tin thời gian được cập nhật. Ví dụ: nếu bạn thêm

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
3 vào một đối tượng ngày giờ có chứa
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
4 thì nên tạo một đối tượng ngày giờ mới có
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
5

Do đó, chúng tôi sẽ thảo luận về các cách tiếp cận khác nhau sẽ giúp chúng tôi đạt được kịch bản trên

Hướng dẫn qua video

Làm cách nào để thêm thời gian vào đối tượng ngày giờ trong Python?


Xem video này trên YouTube

Phương pháp 1. sử dụng timedelta

Mô-đun datetime trong Python cho phép bạn thao tác với các đối tượng datetime với sự trợ giúp của nhiều lớp như

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
6,
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
7,
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
8,
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
9, v.v. Vì vậy, chúng ta sẽ sử dụng hàm
import datetime
import pandas as pd
original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
print["Given Datetime: ", original_time]
time_change = datetime.timedelta[days=1, hours=10, minutes=40]
new_time = original_time + time_change
print["Changed Datetime: ", new_time]
0 từ mô-đun datetime để thao tác/thêm thời gian vào đối tượng datetime đã cho

Tiếp cận. Bạn có thể thêm thời gian vào đối tượng datetime trong quy trình gồm hai bước

  • Tạo một đối tượng
    import datetime
    import pandas as pd
    original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
    print["Given Datetime: ", original_time]
    time_change = datetime.timedelta[days=1, hours=10, minutes=40]
    new_time = original_time + time_change
    print["Changed Datetime: ", new_time]
    1 bằng cách gọi 
    import datetime
    import pandas as pd
    original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
    print["Given Datetime: ", original_time]
    time_change = datetime.timedelta[days=1, hours=10, minutes=40]
    new_time = original_time + time_change
    print["Changed Datetime: ", new_time]
    2
    • Thời lượng có thể là ________ 73, ________ 74, ________ 75, ________ 76,
      import datetime
      import pandas as pd
      original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
      print["Given Datetime: ", original_time]
      time_change = datetime.timedelta[days=1, hours=10, minutes=40]
      new_time = original_time + time_change
      print["Changed Datetime: ", new_time]
      7,
      import datetime
      import pandas as pd
      original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
      print["Given Datetime: ", original_time]
      time_change = datetime.timedelta[days=1, hours=10, minutes=40]
      new_time = original_time + time_change
      print["Changed Datetime: ", new_time]
      8 hoặc
      import datetime
      import pandas as pd
      original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
      print["Given Datetime: ", original_time]
      time_change = datetime.timedelta[days=1, hours=10, minutes=40]
      new_time = original_time + time_change
      print["Changed Datetime: ", new_time]
      9. Trong ví dụ của chúng tôi, thời lượng là
      import datetime
      import pandas as pd
      original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
      print["Given Datetime: ", original_time]
      time_change = datetime.timedelta[days=1, hours=10, minutes=40]
      new_time = original_time + time_change
      print["Changed Datetime: ", new_time]
      7
    • Giá trị của n đại diện cho thời gian được chỉ định, trong ví dụ của chúng tôi là 5
  • Thêm đối tượng timedelta vào đối tượng datetime để tạo đối tượng datetime mới với thời gian được thêm vào

Mã số

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
8

đầu ra

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00

ví dụ 2. Đây là một ví dụ khác cho thấy cách bạn có thể thêm 1 ngày, 10 giờ và 40 phút vào đối tượng ngày giờ đã cho

import datetime
import pandas as pd
original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
print["Given Datetime: ", original_time]
time_change = datetime.timedelta[days=1, hours=10, minutes=40]
new_time = original_time + time_change
print["Changed Datetime: ", new_time]

đầu ra

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
1

Phương pháp 2. Sử dụng gấu trúc

Hàm 

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
11 từ thư viện Pandas cho phép bạn thêm một khoảng thời gian cụ thể cho các đối tượng ngày giờ. Nó thường được sử dụng để tăng hoặc giảm một dấu thời gian nhất định

Tiếp cận

  • Gọi hàm
    Given Datetime:  2020-02-19 12:00:00
    Changed Datetime:  2020-02-19 17:00:00
    12 trong đó thời lượng có thể là
    import datetime
    import pandas as pd
    original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
    print["Given Datetime: ", original_time]
    time_change = datetime.timedelta[days=1, hours=10, minutes=40]
    new_time = original_time + time_change
    print["Changed Datetime: ", new_time]
    3,
    import datetime
    import pandas as pd
    original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
    print["Given Datetime: ", original_time]
    time_change = datetime.timedelta[days=1, hours=10, minutes=40]
    new_time = original_time + time_change
    print["Changed Datetime: ", new_time]
    4,
    import datetime
    import pandas as pd
    original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
    print["Given Datetime: ", original_time]
    time_change = datetime.timedelta[days=1, hours=10, minutes=40]
    new_time = original_time + time_change
    print["Changed Datetime: ", new_time]
    5,
    import datetime
    import pandas as pd
    original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
    print["Given Datetime: ", original_time]
    time_change = datetime.timedelta[days=1, hours=10, minutes=40]
    new_time = original_time + time_change
    print["Changed Datetime: ", new_time]
    6,
    import datetime
    import pandas as pd
    original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
    print["Given Datetime: ", original_time]
    time_change = datetime.timedelta[days=1, hours=10, minutes=40]
    new_time = original_time + time_change
    print["Changed Datetime: ", new_time]
    7,
    import datetime
    import pandas as pd
    original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
    print["Given Datetime: ", original_time]
    time_change = datetime.timedelta[days=1, hours=10, minutes=40]
    new_time = original_time + time_change
    print["Changed Datetime: ", new_time]
    8 hoặc
    import datetime
    import pandas as pd
    original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
    print["Given Datetime: ", original_time]
    time_change = datetime.timedelta[days=1, hours=10, minutes=40]
    new_time = original_time + time_change
    print["Changed Datetime: ", new_time]
    9 và
    Given Datetime:  2020-02-19 12:00:00
    Changed Datetime:  2020-02-19 17:00:00
    10 biểu thị độ dài của thời lượng
  • Thêm đối tượng DateOffset mới tạo vào đối tượng datetime để lấy thời gian mới

Mã số

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
1

đầu ra

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00

Tìm hiểu về Pandas theo cách thú vị bằng cách giải câu đố bằng mật mã
Nếu bạn muốn nâng cao kỹ năng về Pandas của mình, hãy cân nhắc xem cuốn sách học tập dựa trên câu đố của tôi Coffee Break Pandas [Amazon Link].

Phương pháp 3. Sử dụng tương đốidelta

Loại đối tượng relativedelta từ mô-đun dateutil đã được thiết kế để nó có thể được áp dụng cho đối tượng ngày giờ hiện có và có thể thay thế các thành phần cụ thể của đối tượng ngày giờ đó

Đoạn mã sau giải thích cách bạn có thể sử dụng đối tượng relativedelta để thêm một khoảng thời gian cụ thể cho một đối tượng ngày giờ nhất định

Mã số

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
4

đầu ra

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00

Phương pháp 4. Sử dụng mũi tên

Điều gì sẽ xảy ra nếu bạn muốn tính ngày và giờ hiện tại, sau đó thêm một khoảng thời gian cụ thể vào đối tượng datetime hiện tại? . Bạn chắc chắn có thể sử dụng mô-đun datetime cho mục đích này, nhưng Python cũng cung cấp cho chúng ta một thư viện tuyệt vời được gọi là arrow khi sửa đổi các đối tượng datetime hiện tại

Độc giả tiêu hóa

Đây là một ví dụ minh họa cách thêm 5 giờ vào ngày giờ hiện tại

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
6

đầu ra

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
7

Phương pháp

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
11 của mô-đun
Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
12 cho phép chúng tôi dịch chuyển thời gian lùi hoặc tiến theo một khoảng thời gian cụ thể

Thưởng. Câu hỏi liên quan

Bây giờ chúng ta đã trải qua nhiều phương pháp để thêm thời gian vào một đối tượng datetime trong Python, chúng ta hãy xem một số câu hỏi thường gặp liên quan đến cuộc thảo luận ở trên của chúng ta

Làm cách nào để tạo DateTime bằng 15 phút trước?. Trừ thời gian Python

Dung dịch

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
0

Cách kết hợp ngày giờ. ngày và giờ. đối tượng thời gian trong Python?

Hãy xem xét rằng bạn có hai đối tượng đại diện cho cùng một thể hiện sự kiện, chẳng hạn như một đối tượng chứa ngày của sự kiện trong khi đối tượng kia chứa thời gian và bạn muốn tạo một đối tượng ngày giờ bằng cách sử dụng hai đối tượng này.

Dung dịch

Giải pháp đơn giản nhất cho vấn đề này là sử dụng phương thức

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
13 đối với các đối tượng ngày và giờ để ghép chúng lại với nhau thành một đối tượng ngày giờ duy nhất

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
1

đầu ra

Given Datetime:  2020-02-19 12:00:00
Changed Datetime:  2020-02-19 17:00:00
2

Phần kết luận

Tóm lại, có ba cách chủ yếu giúp bạn thêm thời gian vào đối tượng ngày-giờ –

  • Sử dụng chức năng
    import datetime
    import pandas as pd
    original_time = datetime.datetime[2020, 2, 19, 12, 0, 0]
    print["Given Datetime: ", original_time]
    time_change = datetime.timedelta[days=1, hours=10, minutes=40]
    new_time = original_time + time_change
    print["Changed Datetime: ", new_time]
    0 của mô-đun ngày giờ hoặc
  • Sử dụng lớp
    Given Datetime:  2020-02-19 12:00:00
    Changed Datetime:  2020-02-19 17:00:00
    15 của mô-đun dateutil hoặc
  • Sử dụng hàm
    Given Datetime:  2020-02-19 12:00:00
    Changed Datetime:  2020-02-19 17:00:00
    16 từ thư viện
    Given Datetime:  2020-02-19 12:00:00
    Changed Datetime:  2020-02-19 17:00:00
    17

Hướng dẫn liên quan. Làm cách nào để lấy thời gian hiện tại bằng Python?

  • Một trong những kỹ năng được tìm kiếm nhiều nhất trên Fiverr và Upwork là tìm kiếm trang web. Không tạo ra một sai sót. trích xuất dữ liệu theo chương trình từ các trang web là một kỹ năng sống quan trọng trong thế giới ngày nay được định hình bởi web và công việc từ xa
  • Vì vậy, bạn có muốn thành thạo nghệ thuật quét web bằng BeautifulSoup của Python không?
  • Nếu câu trả lời là có – khóa học này sẽ đưa bạn từ người mới bắt đầu đến chuyên gia về Quét web

Tham gia Web Scraping với BeautifulSoup Masterclass ngay bây giờ và thành thạo nó vào ngày mai

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking

Chủ Đề