Với Python, bạn có thể dễ dàng thu được Date và Time hiện tại. Chương này sẽ giới thiệu một số phương thức được phổ biến trong khi làm việc với Date và Time bởi sử dụng Python.
Lấy Time hiện tại trong Python
Để lấy Time hiện tại, bạn sử dụng hàm tiền định nghĩa localtime(). Hàm localtime() này nhận một tham số là time.time(). Ở đây, time là module, time() là một hàm mà trả về system time hiện tại được biểu diễn dưới dạng số tick (số tích tắc) từ 12:00 am, 1/1/1970. Về cơ bản, tick là một số thực.
import time; localtime = time.localtime(time.time()) print "Thoi gian hien tai la :", localtime
Kết quả là:
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ụ: 2015) |
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 |
Lấy 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 time module. 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
time module 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 time Module là:
- time.timezone: Thuộc tính time.timezone là số giây trong local timezone (không DST) từ UTC (>0 trong Americas;
- 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.
calendar Module trong Python
Python cung cấp calendar Module để giúp bạn hiển thị Calendar. Ví dụ:
import calendar print "Thang hien tai la:" cal = calendar.month(2014, 6) print cal
Kết quả là:
Thang hien tai la: 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
Có rất nhiều hàm và phương thức đã được xây dựng sẵn trong calendar Module 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