Cách lấy tổng số giây từ DateTime Python?

Phương pháp này có sẵn trực tiếp trên TimedeltaArray, TimedeltaIndex và trên Sê-ri chứa các giá trị timedelta trong không gian tên .dt

Số giây trả về [ndarray, Float64Index, Sê-ri]

Khi đối tượng gọi là TimedeltaArray, kiểu trả về là ndarray. Khi đối tượng gọi là Timedelta Index, kiểu trả về là Float64 Index. Khi đối tượng gọi là Sê-ri thì kiểu trả về là Sê-ri kiểu float64 có chỉ số giống với đối tượng ban đầu

Python cung cấp một mô-đun datetime để thao tác ngày và giờ. Nó bao gồm các lớp sau,

  • ngày giờ. ngày. Một đối tượng của lớp ngày chỉ định một ngày sử dụng năm, tháng và ngày
  • ngày giờ. thời gian. Một đối tượng của lớp thời gian chỉ định dấu thời gian sử dụng giờ, phút, giây, micro giây và tzinfo
  • ngày giờ. ngày giờ. Một đối tượng của datetime là sự kết hợp của ngày và giờ
  • ngày giờ. múi giờ. Khoảng thời gian, đại diện cho sự khác biệt giữa hai ngày hoặc thời gian hoặc ngày giờ
  • ngày giờ. tzinfo. Nó chứa thông tin múi giờ

Bây giờ để có sự khác biệt giữa hai dấu thời gian trong python, chúng tôi sẽ sử dụng mô-đun datetime. Đầu tiên chúng ta sẽ tạo các đối tượng ngày giờ bắt đầu và kết thúc từ các dấu thời gian của chuỗi. Sau đó, chúng tôi sẽ trừ các đối tượng datetime để lấy thời lượng trong datetime. đối tượng múi giờ. Sau đó, sử dụng các thuộc tính của đối tượng timedelta, chúng tôi sẽ tìm nạp các giây ở giữa hai dấu thời gian. Hãy hiểu với một số ví dụ,

Python Ví dụ 1. Nhận sự khác biệt giữa hai dấu thời gian tính bằng giây

Chuyển đổi dấu thời gian ở định dạng chuỗi thành đối tượng datetime. Sau đó trừ chúng và lấy đối tượng timedelta. Sau đó, sử dụng hàm total_seconds() của đối tượng timedelta để lấy toàn bộ thời lượng giữa hai dấu thời gian tính bằng giây. Ví dụ,

from datetime import datetime date_1 = '24/7/2021 11:13:08' date_2 = '24/7/2021 11:14:18' date_format_str = '%d/%m/%Y %H:%M:%S' start = datetime.strptime(date_1, date_format_str) end = datetime.strptime(date_2, date_format_str) # Get the interval between two datetimes as timedelta object diff = end - start print('Difference between two datetimes in seconds:') print(diff.total_seconds())

đầu ra

Difference between two datetimes in seconds: 70.0

Làm thế nào nó hoạt động?

Chúng tôi đã tạo hai đối tượng ngày giờ từ hai dấu thời gian ở định dạng chuỗi, bằng cách chuyển ngày và định dạng của nó vào hàm strptime(). Sau đó, chúng tôi đã trừ hai đối tượng ngày giờ này và nhận được ngày giờ. đối tượng timedelta, đại diện cho khoảng thời gian giữa hai ngày. Lớp timedelta có hàm thành viên total_seconds(), biểu thị toàn bộ thời lượng tính bằng giây (bao gồm cả phần phân số cho đến mili giây). Chúng tôi đã sử dụng tính năng tìm nạp chênh lệch giữa hai dấu thời gian tính bằng giây

Python Ví dụ 2. Nhận sự khác biệt giữa hai ngày tính bằng giây

Hãy xem một ví dụ khác, trong đó cả hai dấu thời gian cách nhau hơn 1 ngày,

from datetime import datetime date_1 = '24/7/2021 11:13:08' date_2 = '25/7/2021 11:14:18' date_format_str = '%d/%m/%Y %H:%M:%S' start = datetime.strptime(date_1, date_format_str) end = datetime.strptime(date_2, date_format_str) # Get the interval between two datetimes as timedelta object diff = end - start print('Difference between two datetimes in seconds:') print(diff.total_seconds())

đầu ra

Difference between two datetimes in seconds: 86470.0

Sự khác biệt giữa ’25/7/2021 11. 14. 18′ và ’24/7/2021 11. 13. 08′ là 86470. 0 giây

Nếu bạn không quan tâm đến phần thập phân của giây, thì bạn cũng có thể sử dụng phần này,

print(diff.days * 24 * 60 * 60 + diff.seconds)

đầu ra

86470

Ở đây, timedelta. ngày đại diện cho sự khác biệt giữa hai dấu thời gian theo ngày và timedelta. giây đại diện cho số giây mà chúng ta cần thêm vào timedelta. ngày để có được sự khác biệt hoàn toàn. Trong khi đó, múi giờ. total_seconds() đưa ra khoảng thời gian hoàn chỉnh giữa hai dấu thời gian tính bằng giây

Python Ví dụ 3. Nhận sự khác biệt giữa hai dấu thời gian tính bằng giây

Hãy xem một ví dụ khác, trong đó cả hai dấu thời gian cách nhau hơn 2 năm,

from datetime import datetime date_1 = '2/7/2021 21:55:12' date_2 = '24/9/2023 11:13:08' date_format_str = '%d/%m/%Y %H:%M:%S' start = datetime.strptime(date_1, date_format_str) end = datetime.strptime(date_2, date_format_str) # Get the interval between two datetimes as timedelta object diff = end - start print('Difference between two datetimes in seconds:') print(diff.total_seconds())

đầu ra

Difference between two datetimes in seconds: 70291076.0

Sự khác nhau giữa ’24/9/2023 11. 13. 08′ và ‘2/7/2021 21. 55. 12’ là 70291076. 0 giây

Ví dụ Python 4. Nhận sự khác biệt giữa hai datetimes tính bằng giây

Nếu chúng ta có các đối tượng ngày giờ hoàn chỉnh thay vì chỉ các chuỗi dấu thời gian, trong trường hợp đó, hãy xem cách tính toán sự khác biệt giữa hai ngày giờ tính bằng giây,

________số 8_______

đầu ra

Difference between two datetimes in seconds: 1862276.0

Ví dụ Python 5. Nhận sự khác biệt giữa hai thời gian tính bằng giây bằng cách sử dụng gấu trúc

Giả sử chúng ta có hai dấu thời gian ở định dạng chuỗi. Chúng ta có thể chuyển đổi chúng thành đối tượng datetime bằng pandas. hàm to_datetime(). Sau đó, chúng tôi sẽ trừ các đối tượng datetime để lấy thời lượng trong datetime. đối tượng múi giờ. Sau đó, sử dụng các thuộc tính của đối tượng timedelta, chúng tôi sẽ tìm nạp tổng số giây ở giữa hai dấu thời gian. Ví dụ,

Làm thế nào để có được giây từ ngày giờ của gấu trúc?

phương thức strftime() lấy định dạng ngày giờ và trả về một chuỗi đại diện cho định dạng cụ thể. Bạn có thể sử dụng %S để trích xuất giây từ cột ngày giờ của DataFrame gấu trúc .

Làm cách nào để lấy millis từ datetime trong Python?

Sử dụng ngày giờ. now() method để lấy phút, giây và mili giây hiện tại. Hàm now() được định nghĩa trong mô-đun datetime. Và truy xuất phút, giây và mili giây hiện tại bằng cách sử dụng. phút,.

Làm cách nào để lấy dấu thời gian từ datetime trong Python?

Chúng ta có thể chuyển đối tượng ngày giờ thành dấu thời gian bằng cách sử dụng phương thức dấu thời gian() . Nếu đối tượng datetime nhận biết UTC, thì phương thức này sẽ tạo dấu thời gian UTC. Nếu đối tượng ngây thơ, chúng ta có thể gán giá trị UTC cho tham số tzinfo của đối tượng datetime và sau đó gọi phương thức timestamp().

Làm cách nào để chuyển đổi giờ phút và giây thành giây trong Python?

Chia chuỗi thành các thành phần riêng lẻ và lưu trữ chuỗi đó trong biến giờ, phút và giây. Nhân số giờ với 3600. .
“1. 40. 10” sẽ tạo ra đầu ra là 6010 giây
“0. 05. 15” sẽ tạo ra đầu ra là 315 giây
“0. 00. 32” sẽ tạo ra đầu ra là 32 giây

Chủ đề