Có trường hợp ứng dụng lấy thông tin về thời gian tính bằng giây, nhưng chúng ta cần lưu trữ thông tin đó ở định dạng giờ, phút, giây [
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:100] hoặc ngược lại
Đến cuối bài viết này, bạn sẽ học được. –
- Cách chuyển đổi giây sang định dạng giờ, phút, giây [
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:10
0] - Cách chuyển đổi giờ, phút, giây [
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:10
0] sang giây
Cách chuyển đổi giây thành giờ, phút và giây bằng Timedelta
Các bước dưới đây cho thấy cách chuyển đổi giây sang định dạng
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:100 trong Python bằng cách sử dụng lớp timedelta
- Nhập mô-đun ngày giờ
Mô-đun datetime của Python cung cấp các hàm xử lý nhiều chức năng phức tạp liên quan đến ngày và giờ. Nhập nó bằng câu lệnh
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:10
4 - Sử dụng lớp timedelta của mô-đun datetime
Đồng bằng thời gian A biểu thị khoảng thời gian tính bằng ngày, giờ, phút và giây. Sử dụng hàm tạo
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:10
5 và chuyển giá trị giây cho nó bằng đối sốTime in Seconds: 6010 Time in hh:mm:ss: 1:40:10
6.
Hàm tạo timedelta tạo đối tượng timedelta, biểu thị thời gian theo định dạng ngày, giờ, phút và giây [Time in Seconds: 6010 Time in hh:mm:ss: 1:40:10
7].
Ví dụ,Time in Seconds: 6010 Time in hh:mm:ss: 1:40:10
8 sẽ trả về 1 giờ 40 phút 10 giây.
ví dụ 1. Chuyển đổi giây thành
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:100
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:100
đầu ra
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:10
ví dụ 2. Hiển thị nó ở định dạng con người có thể đọc được
- Đầu tiên, Tạo đối tượng timedelta bằng cách chuyển giây cho nó
- Tiếp theo, chuyển đổi đối tượng timedelta thành một chuỗi
- Tiếp theo, chia chuỗi thành các thành phần riêng lẻ để nhận giờ, phút và giây
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:102
đầu ra
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:103
Sử dụng chức năng tích hợp sẵn của Python Hàm
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:1020 nếu bạn không muốn bao gồm ngày
Hàm
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:1020 Lấy hai số làm đối số và trả về một cặp số bao gồm thương và số dư của chúng
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:106
đầu ra
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:107
Chuyển đổi hh. mm. ss để Giây
Bây giờ, giả sử chúng ta phải nghịch đảo ví dụ trên, tôi. e. , chúng tôi muốn chuyển đổi chuỗi thời gian giờ, phút và giây thành giây trong Python
Trong điện toán, thời gian kỷ nguyên là ngày và giờ mà máy tính đo thời gian hệ thống. Đó là điểm bắt đầu hoặc thời điểm cố định trong thời gian được sử dụng để tính số giây đã trôi qua. Ngày giờ của máy tính được xác định theo số giây đã trôi qua kể từ thời điểm kỷ nguyên
Thời gian Epoch còn được gọi là thời gian POSIX hoặc thời gian UNIX. Ví dụ: trong hầu hết các phiên bản UNIX, thời gian kỷ nguyên bắt đầu từ 00. 00. 00 UTC ngày 1 tháng 1 năm 1970
Vì vậy, khi chúng tôi chuyển đổi datetime thành giây, chúng tôi sẽ nhận được số giây kể từ epoch. Nó có nghĩa là số giây đã trôi qua giữa ngày giờ đầu vào và thời gian kỷ nguyên [00. 00. 00 UTC ngày 1 tháng 1 năm 1970]
Cách chuyển đổi thời gian thành giây trong Python
Giả sử bạn có một ngày giờ [2018,10,22] ở định dạng UTC và bạn muốn tính số giây kể từ kỷ nguyên. Các bước dưới đây cho thấy hai cách để chuyển đổi thời gian thành giây
- Nhập mô-đun ngày giờ
Mô-đun datetime trong Python cung cấp nhiều chức năng khác nhau để tạo và thao tác ngày và giờ. Sử dụng câu lệnh
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:10
80 để nhập lớpTime in Seconds: 6010 Time in hh:mm:ss: 1:40:10
81 từ mô-đun ngày giờ - Trừ thời gian đầu vào từ thời gian Epoch
Để chuyển đổi một ngày giờ thành giây, trừ thời gian dữ liệu đầu vào từ thời gian epoch. Đối với Python, thời gian kỷ nguyên bắt đầu từ 00. 00. 00 UTC ngày 1 tháng 1 năm 1970. Phép trừ cung cấp cho bạn đối tượng timedelta. Sử dụng phương thức
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:10
82 của đối tượng timedelta để lấy số giây kể từ kỷ nguyên - Sử dụng phương thức dấu thời gian[]
Nếu phiên bản Python của bạn lớn hơn 3. 3 thì có một cách khác là sử dụng phương thức
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:10
83 của lớp datetime để chuyển đổi datetime thành giây. Phương thức này trả về một giá trị float đại diện cho các phân số chẵn của giây
Thí dụ. Ngày giờ sang giây
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:102
đầu ra
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:108
Ngày giờ thành giây sử dụng dấu thời gian[]
Dấu thời gian là thông tin được mã hóa thường được sử dụng trong UNIX, cho biết ngày và giờ xảy ra một sự kiện cụ thể. Thông tin này có thể chính xác đến từng micro giây. Đó là dấu thời gian POSIX tương ứng với phiên bản datetime
Đoạn mã dưới đây cho thấy cách chuyển đổi thời gian thành giây bằng phương thức
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:1083. Phương pháp này sẽ chỉ hữu ích nếu bạn cần số giây từ epoch [1970-01-01 UTC]. Nó trả về một số giây đã trôi qua kể từ epoch dưới dạng giá trị float biểu thị các phân số chẵn của giây
Thí dụ
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:105
đầu ra
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:106
Ghi chú
Lưu ý rằng các múi giờ khác nhau có tác động đến kết quả. Do đó, người ta nên xem xét chuyển đổi thời gian sang UTC trước khi chuyển đổi thành giây
Để có kết quả chính xác, bạn nên sử dụng thời gian UTC. Nếu ngày giờ của bạn chưa có trong UTC, bạn sẽ cần chuyển đổi nó trước khi sử dụng hoặc đính kèm một lớp tzinfo với độ lệch múi giờ phù hợp. Thêm
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:1085 nếu sử dụng Python 2 hoặc
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:1086 nếu sử dụng Python 3
Không sử dụng strptime để chuyển đổi ngày giờ thành giây bằng thuộc tính
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:1087 vì Python không hỗ trợ thuộc tính
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:1087. Nếu bạn sử dụng nó, Python sẽ sử dụng strftime của hệ thống, sử dụng múi giờ địa phương của bạn và bạn sẽ nhận được kết quả không chính xác. xem tài liệu
Datetime thành giây bằng cách sử dụng mô-đun lịch
Mô-đun lịch cung cấp phương thức timegm[] trả về giá trị dấu thời gian Unix tương ứng, giả sử một kỷ nguyên là năm 1970 và mã hóa POSIX
- nhập mô-đun clenadar
- Sử dụng
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:10
89 để lấy bộ dữ liệu thời gian từ datetime - Tiếp theo, chuyển bộ thời gian sang phương thức
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:10
50 để chuyển đổi ngày giờ thành giây
Thí dụ
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:103
đầu ra
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:104
Ghi chú
- Phương pháp này loại bỏ các phân số của một giây
- Sự chấp thuận của lịch không có cách nào để chỉ định múi giờ. Nếu datetime đầu vào là trường hợp nhận biết và sử dụng múi giờ khác với múi giờ của hệ thống, thì kết quả sẽ không chính xác [múi giờ bị mất trong lệnh gọi
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:10
51]. Để có câu trả lời chính xác cho thời gian 'nhận thức', bạn có thể sử dụngTime in Seconds: 6010 Time in hh:mm:ss: 1:40:10
52
Giây/kỷ nguyên thành Ngày giờ
Nếu bạn muốn chuyển đổi số giây kể từ epoch thành đối tượng datetime, hãy sử dụng phương thức
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:1053 của lớp datetime
Thí dụ
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:108
đầu ra
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:109
Chuyển đổi thời gian Epoch bằng mili giây thành datetime
Nếu bạn muốn chuyển đổi mili giây thành đối tượng datetime, hãy sử dụng phương thức strptime[] của lớp datetime. Sử dụng mã định dạng
Time in Seconds: 6010 Time in hh:mm:ss: 1:40:1054 để phân tích cú pháp