Thư viện Datetime trong python

0
772
Bài số 21 trong 26 bài của series Python Không Khó

Python cung cấp một số thư viện để làm việc với thời gian. Trong bài viết hôm nay Lập trình không khó xin giới thiệu cho các bạn thư viện datetime trong python để làm việc với thời gian.

Thư viện datetime trong Python được phân loại thành 5 lớp chính.

  • date – Thao tác chỉ ngày (Tháng, ngày, năm)
  • time – Thời gian độc lập trong ngày (Giờ, phút, giây, micro giây)
  • datetime – Kết hợp thời gian và ngày (Tháng, ngày, năm, giờ, giây, micro giây)
  • timedelta Wiki Một khoảng thời gian được sử dụng để thao túng ngày

Date & DateTime trong python

Việc đầu tiên cần làm là import thư viện datetime trong python:

Lấy ngày bằng today

Chức năngdate.today có một số thuộc tính liên quan đến nó. Chúng ta có thể in ngày / tháng / năm và nhiều thứ khác.

Lấy ngày tháng năm hiện tại:

Chỉ cần hai dòng lệnh chúng ta đã có thể lấy được ngày tháng hiện tại.

Bạn cũng có thể lấy riêng ra ngày, hoặc tháng, hoặc năm như ở trong ví dụ dưới:

kết quả:

Cách lấy xem hôm nay là thứ mấy trong tuần

Thư viện datetime trong python cung cấp cho ta hàm date.today() để lấy số ngày trong tuần. Dưới đây là Bảng ngày bắt đầu với Thứ Hai là 0 và Chủ Nhật là 6

ngàySố tuần
Thứ hai0
Thứ ba1
Thứ tư2
Thứ năm3
Thứ sáu4
ngày thứ bảy5
chủ nhật6

Thứ trong tuần rất hữu ích cho các mảng có chỉ số phụ thuộc vào Ngày trong tuần.

Tại thời điểm bài viết là thứ 4 ngày 25/12/2019 nên kết quả là:

Ví dụ nhỏ:

in ra xem hôm nay là thứ mấy trong tuần

Kết quả:

Ngày và giờ hiện tại trong Python

Giống như  date, chúng ta cũng có thể sử dụng thư viện datetime trong Python. Nó đưa ra ngày cùng với thời gian tính bằng giờ, phút, giây và mili giây.

Sử dụng date.nowchúng ta có thể lấy được thời gian và ngày hiện tại:

kết quả:

Như kết quả, bạn có thể thấy là thời gian được tính đến mili giây.

Và nếu bạn chỉ muốn in ra giờ, phút, giây bạn có thể làm như trong ví dụ ở dưới:

kết quả:

Cách định dạng đầu ra ngày và thời gian với Strftime ()

Đến bây giờ chúng ta đã học, cách sử dụng đối tượng date và datetime trong Python. Chúng tôi sẽ tiến thêm một bước nữa và tìm hiểu cách sử dụng chức năng định dạng để định dạng ngày và giờ

Bước 1: Đầu tiên chúng ta sẽ thấy một bước đơn giản về cách định dạng năm. Hãy nhìn vào ví dụ:

  • Chúng tôi đã sử dụng ” hàm strftime” để định dạng.
  • Hàm này sử dụng mã điều khiển khác nhau để đưa ra đầu ra.
  • Mỗi mã kiểm soát giống với các tham số khác nhau như năm, tháng, ngày trong tuần và ngày [(% y /% Y – Năm), (% a /% A- ngày trong tuần), (% b /% B- tháng), (% d – ngày của tháng)].
  • Trong trường hợp của chúng tôi, đó là (“% Y”) giống với năm, nó in ra năm (ví dụ: 2019).

Bây giờ nếu bạn thay thế (“% Y”) bằng chữ thường, nghĩa là (“% y) và thực thi mã, đầu ra sẽ chỉ hiển thị (19) chứ không phải (2019).

Datetime trong python

Hàm strftime có thể khai báo riêng ngày, ngày, tháng và năm. Ngoài ra với những thay đổi nhỏ trong mã điều khiển trong strftime bạn có thể định dạng kiểu văn bản.

datetime trong python

Bên trong hàm strftime nếu bạn thay thế (% a) bằng chữ A, nghĩa là, (% A), đầu ra sẽ in ra là “Wednesday” thay vì chỉ viết tắt “Wed”.

Day3

Với sự trợ giúp của chức năng Strftime, chúng ta cũng có thể truy xuất thời gian hệ thống cục bộ, ngày hoặc cả hai.

  1. % C- cho biết ngày, giờ, tuần,…
  2. % x- cho biết ngày
  3. % X- cho biết giờ

kết quả:

Hàm strftime cho phép bạn gọi thời gian ở bất kỳ định dạng nào trong 24 giờ hoặc 12 giờ.

Chỉ bằng cách xác định mã kiểm soát như % I / H cho giờ,% M cho phút,% S cho giây, người ta có thể gọi thời gian cho các định dạng khác nhau

Thời gian 12 giờ được khai báo [print(now.strftime (“% I:% M:% S% P))]

Thời gian 24 giờ được khai báo [print(now.strftime (“% H:% M”))]

Một số định dạng thường dùng

  • %A: Hiển thị tên đầy đủ của các thứ trong tuần (Monday, Tuesday,…).
  • %a: Hiển thị tên viết tắt của các thứ trong tuần (Mon, Tue,…).
  • %B: Hiển thị tên đầy đủ của các tháng.
  • %b: Hiển thị tên viết tắt của các tháng.
  • %d: Hiển thị ngày từ 1 đến 31.
  • %H: Hiển thị giờ loại 24h từ 00 đến 23.
  • %I: Hiện thị giờ loại 12h từ 01 đến 12.
  • %j: Hiển thị số ngày của năm từ 001 đến 366.
  • %m: Hiển thị tháng từ 01 đến 12.
  • %M: Hiển thị phút từ 00 đến 59.
  • %S: Hiển thị giây từ 00 đến 59.
  • %Y: Hiển thị đầy đủ năm.
  • %y: Hiển thị viết tắt của năm từ 00 đến 99 (Năm 2019 viết tắt thành 19).
  • % C- cho biết ngày, giờ, tuần,…
  • % x- cho biết ngày
  • % X- cho biết giờ

Cách sử dụng Timedelta

Với các timedelta, bạn có thể ước tính thời gian cho cả tương lai và quá khứ. Nói cách khác, đó là một khoảng thời gian để dự đoán bất kỳ ngày, ngày hoặc thời gian đặc biệt.

Hãy nhớ rằng chức năng này không phải để in ra thời gian hay ngày tháng, mà là một cái gì đó để TÍNH TOÁN về tương lai hoặc quá khứ . Hãy xem một ví dụ để hiểu hơn.

Phía trên là một ví dụ để tính xem 365 ngày sau kể từ ngày 25/12/2019 sẽ là ngày bao nhiêu, và kết quả là:

Và trong kết quả thì ngày 25/12/2019 + 365 ngày sẽ là ngày noel của năm sau.

Hãy xét thêm một ví dụ sau để hiểu hơn.

kết quả:

ở dòng thứ 2 sẽ là kết quả của việc + 365 ngày + 8 giờ + 10 phút +1 tuần. Tôi nghĩ là vậy

Tóm lược

Để thao tác ngày và giờ theo cả hai cách đơn giản và phức tạp, mô đun datetime cung cấp các lớp hoặc danh mục khác nhau như

  • date – Thao tác chỉ ngày (Tháng, ngày, năm)
  • time – Thời gian độc lập trong ngày (Giờ, phút, giây, micro giây)
  • datetime – Kết hợp thời gian và ngày (Tháng, ngày, năm, giờ, giây, micro giây)
  • timedelta Wiki Một khoảng thời gian được sử dụng để thao túng ngày

Sử dụng các đối tượng datetime

  • Nhập đối tượng datetime trước khi thực thi mã là bắt buộc
  • Sử dụng chức năng date.today để in ngày / tháng / năm riêng lẻ cũng như lập chỉ mục trong ngày
  • Sử dụng đối tượng date.time để nhận thời gian theo giờ, phút, giây và mili giây

Định dạng hết thời gian với “hàm thời gian str”

  • Sử dụng strftime để thay đổi định dạng của năm
  • In riêng ngày, ngày, tháng và năm,
  • Gọi thời gian cho bất kỳ định dạng 12 giờ hoặc 24 giờ

Đối tượng Timedelta

  • Với các đối tượng timedelta, bạn có thể ước tính thời gian cho cả tương lai và quá khứ
  • Tính tổng số ngày còn lại cho ngày đặc biệt (sinh nhật) kể từ thời điểm hiện tại
  • Tính tổng số ngày đã qua cho ngày đặc biệt (sinh nhật) kể từ thời điểm hiện tại

Hãy tham gia group lập trình không khó để cùng thảo luận về các vấn đề về lập trình.

Hẹn các bạn vào các bài học sau!!!

 

Các bài viết trong SeriesBài trước: Module trong pythonBài sau: Xử lí file trong python
0 0 vote
Đánh giá bài viết
Subscribe
Notify of
guest
0 Bình luận
Inline Feedbacks
View all comments