Date & Time trong Python




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ínhMiêu tả
tm_yearTrả về năm hiện tại (ví dụ: 2015)
tm_monTrả về tháng hiện tại (1-12)
tm_mdayTrả về ngày hiện tại (1-31)
tm_hourTrả về giờ hiện tại (0-23)
tm_minTrả về phút hiện tại (0-59)
tm_secTrả về giây hiện tại (0-61 với 60 và 61 là các dây nhuận)
tm_wdayTrả về ngày trong tuần (0-6 với 0 là Monday)
tm_ydayTrả về ngày trong năm (1-366 kể cả năm nhuận)
tm_isdstTrả 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.

STTHà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; <=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.

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