Tính khoảng thời gian trong python
Tiếp nối với bài viết “Hiển thị danh sách các ngày trong tuần, tháng“ trước đó thì hôm nay tôi sẽ tiếp tục với chủ đề ngày tháng trong Python với cách tính khoảng cách giữa 2 ngày bất kỳ. Show 1, Làm thế nào tính được khoảng cách giữa 2 ngày bất kỳ ?Đoạn code đơn giản dưới đây là câu trả lời from datetime import date d0 = date(2014, 5, 31) d1 = date(2014, 4, 20) delta = abs(d0 - d1) print delta.days Demo: http://ideone.com/364sO0 Đoạn code trên sẽ giúp các bạn tính toán được có bao nhiêu ngày từ ngày 20/4/2014 đến 31/5/2014. Và câu trả lời là 41 ngày. Thật đơn giản phải không các bạn ? 2, Tính khoảng cách giữa 2 ngày dưới dạng StringVới đoạn code trên nếu bạn để ý thì sẽ thấy tôi đã tính khoảng cách giữa hai đối tượng Date, nếu chúng ta có 2 ngày với định dạng chuỗi String thì làm thế nào ? Vậy thì bạn hãy thử với đoạn code sau from datetime import datetime date_format = "%d/%m/%Y" d0 = datetime.strptime('21/4/2014', date_format) d1 = datetime.strptime('15/5/2014', date_format) delta = abs(d0 - d1) print delta.days Demo: http://ideone.com/YIuneS 3, Hiển thị thông tin chi tiết khoảng cách giữa 2 ngàyNếu tôi muốn tính xem từ thời điểm 2014/5/10 12:14:15 đến 2014/4/15 23:12:45 cụ thể là bao nhiêu ngày, giờ, phút, giây thì tôi sẽ sử dụng đoạn code này forbindelse from datetime import datetime d0 = datetime(2014, 5, 10, 12, 14, 15) d1 = datetime(2014, 4, 15, 23, 12, 45) diff = abs(d0 - d1) print diff Kết quả là 2 thời điểm đó cách nhau 24 ngày, 13 giờ, 1 phút và 30 giây. Demo: http://ideone.com/SWmHWi Nếu bạn muốn kiểm tra khoảng cách giữa 2 ngày với định dạng String thì có thể tham khảo mục 2.
Hướng dẫn cách cộng trừ ngày tháng và so sánh thời gian trong python. Bạn sẽ học được cách tính toán với ngày giờ cũng như cách so sánh thời gian trong python sau bài học này. Cộng ngày tháng trong pythonĐối với các giá trị thời gian cụ thể là các instance được tạo ra bởi class datetime hoặc date, chúng ta có thể tiến hành cộng chúng với một instance được tạo bởi class timedelta(class biểu thị chênh lệch thời gian) và tạo ra một instace thời gian mới, giống như dưới đây: dt_new = dt + td Trong đó:
Bạn có thể tìm hiểu chi tiết về các class này tại bài viết Datetime trong python là gì Cụ thể, chúng ta cộng trừ ngày tháng trong python giống như ví dụ sau đây: import datetime Với việc chỉ định giá trị của đối số Nếu dữ liệu của bạn không phải là một datetime mà chỉ là các chuỗi ký tự chứa thông tin thời gian, hãy chuyển chúng về dạng datetime bằng cách dùng strptime trong python và sau đó tiến hành cộng ngày tháng trong python, giống như ví dụ sau đây: import datetime Trừ ngày tháng trong pythonĐể trừ ngày tháng trong python và tính chênh lệch ngày tháng giữa hai giá trị thời gian trong python, chúng ta sử dụng phép trừ như dưới đây: td = dt1 - dt2 Trong đó:
Cụ thể, chúng ta trừ ngày tháng trong python giống như ví dụ sau đây: import datetime Kết quả của phép toán trừ ngày tháng trong python là một instance của class timedelta, do đó chúng ta có thể gọi ra các thuộc tính của instance này như ví dụ ở trên. Nếu dữ liệu của bạn không phải là một datetime mà chỉ là các chuỗi ký tự chứa thông tin thời gian, hãy chuyển chúng về dạng datetime bằng cách dùng strptime trong python và sau đó tiến hành trừ ngày tháng trong python, giống như ví dụ sau đây: import datetime So sánh thời gian trong pythonGiả sử bạn có hai chuỗi ký tự biểu diễn thời gian trong
python như là “21/02/13” và “21/06/13” và bạn muốn so sánh chúng? Để làm được điều này, trước hết bạn cần chuyển chúng về dạng datetime trong python bằng cách sử dụng [phương thức strptime trong python]strptime trong python. Sau đây, Kiyoshi sẽ đưa ra hai solution để giải quyết bài toán này như sau: Sử dụng trừ thời gian trong python import datetime Lưu ý là kết quả phép trừ thời gian trong python là một instance nên chúng ta không xác định được dấu của nó. Thay vào đó, chúng ta cần lấy ra thuộc tính strptime.days ra để so sánh. So sánh trực tiếp thời gian trong python import datetime Cả hai solution trên đều đưa ra cùng kết quả: 2021-02-13 00:00:00 nho hon 2021-06-13 00:00:00 Tổng kếtTrên đây Kiyoshi đã hướng dẫn bạn về cách cộng trừ ngày tháng và so sánh thời gian trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé. Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo. Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#450808;background-color:#d899f5" rel="license noopener" target="_blank" href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creativecommons</a> và <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#450808;background-color:#d899f5" target="_blank" rel="noopener" href="https://www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge">DMCA</a><script src="https://laptrinhcanban.com/ezossp/https/images.dmca.com/Badges/DMCABadgeHelper.min.js?screx=1&sxcb=2a" async type="text/ez-screx"> Bài viết liên quanHãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam! HOME › python cơ bản - lập trình python cho người mới bắt đầu>>15. datetime trong python
Profile Tác giả : Kiyoshi (Chis Thanh) Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản. |