Python có module built-in datetime bao gồm hàm và class để parsing, formatting và phép toán ngày giờ. Giá trị thời gian được biểu diễn bằng class time. Nó có thuộc tính hour, minute, second, microsecond. Có thể bao gồm thông tin timezone.
Ví dụ
import datetime t = datetime.time(1, 2, 3) print t print 'hour :', t.hour print 'minute:', t.minute print 'second:', t.second print 'microsecond:', t.microsecond print 'tzinfo:', t.tzinfo
Output
$ python datetime_time.py 01:02:03 hour : 1 minute: 2 second: 3 microsecond: 0 tzinfo: None
Instance time chỉ giữ giá trị thời gian, không kèm date.
Giá trị date lịch được biểu diễn bằng class date. Instance có thuộc tính year, month, day. Dễ dàng tạo date đại diện cho hôm nay dùng class method today().
Ví dụ
import datetime today = datetime.date.today() print today print 'ctime:', today.ctime() print 'tuple:', today.timetuple() print 'ordinal:', today.toordinal() print 'Year:', today.year print 'Mon :', today.month print 'Day :', today.day
Output
2017-09-07 ctime: Thu Sep 7 00:00:00 2017 tuple: time.struct_time(tm_year=2017, tm_mon=9, tm_mday=7, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=250, tm_isdst=-1) ordinal: 736579 Year: 2017 Mon : 9 Day : 7
Module datetime khá cơ bản, không xử lý được việc nâng cao. Bạn nên dùng dateutil (https://dateutil.readthedocs.io/en/stable/) nếu cần tính relative delta (tháng sau, năm sau, thứ 2 tuần sau, tuần cuối tháng, v.v.), tính delta giữa 2 date/datetime cho trước, v.v.