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.

Date và Time trong Python

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!

Ngày:24/10/2020 Chia sẻ bởi:Thi

CÓ THỂ BẠN QUAN TÂM