Date và Time trong Python
Trong các ứng dụng thực tế, có những lúc chúng ta cần phải làm việc với ngày tháng và thời gian. Ví dụ cần viết một ứng dụng đặt lịch hẹn bằng ngôn ngữ Python thì ta phải biết cách lấy thời gian trên hệ thống để xử lý. Để tìm hiểu về Date và Time trong Python, mời bạn đọc tham khảo bài viết dưới đây.
Mục lục nội dung
1. Gọi Time hiện tại trong Python
Hàm localtime() nhận một tham số là time.time() trả về thời gian hiện tại của hệ thống. Trong đó time là mô-đun và time() là hàm của mô-đun time. Ví dụ:
import time;
localtime = time.localtime(time.time())
print "Thoi gian hien tai la :", localtime
Kết quả:
Thoi gian hien tai la : time.struct_time(tm_year=2015, tm_mon=11, tm_mday=29, tm_hour=19, tm_min=16, tm_sec=54, tm_wday=6, tm_yday=333, tm_isdst=0)
Dưới đây là phần giải thích:
Time được trả về là một cấu trúc gồm 9 thuộc tính. Như trong bảng sau:
Thuộc tính | Miêu tả |
---|---|
tm_year | Trả về năm hiện tại (ví dụ: 2019) |
tm_mon | Trả về tháng hiện tại (1-12) |
tm_mday | Trả về ngày hiện tại (1-31) |
tm_hour | Trả về giờ hiện tại (0-23) |
tm_min | Trả về phút hiện tại (0-59) |
tm_sec | Trả về giây hiện tại (0-61 với 60 và 61 là các dây nhuận) |
tm_wday | Trả về ngày trong tuần (0-6 với 0 là Monday) |
tm_yday | Trả về ngày trong năm (1-366 kể cả năm nhuận) |
tm_isdst | Trả về -1, 0 hoặc 1 tức là có xác định DST không |
2. Gọi Time đã được định dạng trong Python
Bạn có thể định dạng bất kỳ time nào theo yêu cầu của bạn, nhưng phương thức đơn giản nhất là asctime(). Đây là một hàm đã được định nghĩa trong Mô-đun time. Hàm này trả về một time đã được định dạng bao gồm ngày trong tuần, tháng, ngày trong tháng, thời gian và năm. Ví dụ:
import time;
localtime = time.asctime( time.localtime(time.time()))
print "Thoi gian da duoc dinh dang la :", localtime
Kết quả là:
Thoi gian da duoc dinh dang la : Sun Nov 29 19:16:30 2015
3. Mô-đun time trong Python
Có nhiều hàm được định nghĩa sẵn trong time Module mà bạn có thể được sử dụng để làm việc với time.
STT | Hàm và Miêu tả |
---|---|
1 |
Hàm time.altzone Trả về offset của DST timezone (số giây) |
2 |
Hàm time.asctime([tupletime]) Chấp nhận một time-tuple và trả về một chuỗi gồm 24 ký tự có thể đọc được ví dụ như Mon Dec 11 18:07:14 2015 |
3 |
Hàm time.clock( ) Trả về CPU time hiện tại dưới dạng số giây dạng số thực |
4 |
Hàm time.ctime([secs]) Giống asctime(localtime(secs)) và nếu không có tham số thì giống như asctime( ) |
5 |
Hàm time.gmtime([secs]) Chuyển đổi một time được biểu diễn là số giây từ epoch sang một struct_time trong UTC |
6 |
Hàm time.localtime([secs]) Tương tự như gmtime(), nhưng nó chuyển đổi số giây thành local time. |
7 |
Hàm time.mktime(tupletime) Là ngược với hàm localtime(). Trả về một số thực để tương thích với time() |
8 |
Hàm time.sleep(secs) Dừng trình thực thi trong số giây đã cho là secs |
9 |
Hàm time.strftime(fmt[,tupletime]) Chuyển đổi một tuple hoặc struct_time thành một chuỗi được xác định bởi tham số format |
10 |
Hàm time.strptime(str,fmt='%a %b %d %H:%M:%S %Y') Parse một chuỗi biểu diễn time theo một định dạng đã cho |
11 |
Hàm time.time( ) Trả về time dưới dạng một số thực được diễn đạt bởi số giây từ epoch, trong UTC |
12 |
Hàm time.tzset() Phục hồi các qui ước về thời gian được sử dụng bởi các chương trình con của thư viện. Biến môi trường TZ xác định cách được thực hiện |
Có hai thuộc tính quan trọng có sẵn với Mô-đun time là:
-
time.timezone: Thuộc tính time.timezone là số giây trong local timezone (không DST) từ UTC (>0 trong Americas; <=0 trong Europe, Asia, Africa).
-
time.tzname: Thuộc tính time.tzname là một cặp các chuỗi biểu diễn locale và biểu diễn phụ thuộc, mà tương ứng là tên của local timezone với và không với DST.
4. Mô-đun calendar trong Python
Python cung cấp Mô-đun calendar để giúp bạn hiển thị Calendar. Ví dụ:
import calendar
print "Thang hien tai la:"
cal = calendar.month(2019, 6)
print cal
Kết quả là:
Thang hien tai la:
June 2019
Mo Tu We Th Fr Sa Su
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Có rất nhiều hàm và phương thức đã được xây dựng sẵn trong Mô-đun calendar giúp bạn làm việc với Calendar. Dưới đây là một số hàm và phương thức:
Hàm | Miêu tả |
---|---|
Hàm prcal(year) | In cả calendar của năm |
Hàm firstweekday() | Trả về ngày trong tuần đầu tiên. Theo mặc định là 0 mà xác định là Monday |
Hàm isleap(year) | Trả về true nếu năm đã cho là năm nhuận, nếu không là false |
Hàm monthcalendar(year,month) | Trả về một list gồm các ngày trong tháng đã cho của năm dưới dạng các tuần |
Hàm leapdays(year1,year2) | Trả về số ngày nhuận từ năm year1 tới năm year2 |
Hàm prmonth(year,month) | In ra tháng đã cho của năm đã cung cấp |
Dưới đây là ví dụ cho một số hàm:
Hàm firstweekday()
import calendar
print calendar.firstweekday()
Kết quả là:
0
Hàm isleap(year)
import calendar
print calendar.isleap(2000)
Kết quả là:
True
Hàm monthcalendar(year,month)
import calendar
print calendar.monthcalendar(2015,11)
Kết quả là:
[
[0, 0, 0, 0, 0, 0, 1],
[2, 3, 4, 5, 6, 7, 8],
[9, 10, 11, 12, 13, 14, 15],
[16, 17, 18, 19, 20, 21, 22],
[23, 24, 25, 26, 27, 28, 29],
[30, 0, 0, 0, 0, 0, 0]
]
Hàm prmonth(year,month)
import calendar
print calendar.prmonth(2015,11)
Kết quả là:
November 2015
Mo Tu We Th Fr Sa Su
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
None
Trên đây là bài viết của eLib.VN về Date and Time trong Python. Chúng tôi hy vọng bài viết hữu ích cho những bạn đang trong quá trình tìm hiểu về python có thể dễ dàng tiếp cận hơn để có thể tiến xa hơn nữa. Chúc các bạn thành công!
Tham khảo thêm
- doc Hàm trong Python
- doc Module trong Python
- doc File I/O trong Python
- doc Xử lý ngoại lệ trong Python
- doc Regex trong Python
- doc Module collection trong Python
- doc Module math trong Python
- doc Module OS trong Python
- doc Module statistics trong Python
- doc Module random & sys trong Python
- doc IDE phổ biến trong lập trình Python