INTRODUCTION
FLOW CONTROL
FUNCTIONS
DATATYPES
OBJECT & CLASS
Bài tập Python: Lập trình hướng đối tượng (OOP) trong Python Lập trình hướng đối tượng trong Python Class Variables trong Python Tìm hiểu về Methods trong Python Cách sử dụng phương thức __init__() trong Python Các biến Instance trong Python Tìm hiểu về Class Attributes trong Python Hàm Static Methods trong Python Phương thức __str__ trong Python Phương thức __repr__ trong Python Phương thức eq trong Python Tìm hiểu phương thức __hash__ trong Python Phương thức __bool__ trong Python Phương thức del trong Python Tìm hiểu về lớp Property trong Python Tìm hiểu về nạp chồng toán tử trong Python Trình Decorator Property trong Python Thuộc tính chỉ đọc trong Python Thuộc tính Delete trong Python Sử dụng super() trong Python Sử dụng __slots__ trong Python Cách sử dụng Protocol trong Python Sử dụng Enum aliases và @enum.unique trong Python Tùy chỉnh và mở rộng lớp Enum trong Python Cách sử dụng hàm Auto() của Python Single Responsibility Principle trong Python Nguyên tắc Đóng-Mở trong Python Nguyên tắc thay thế Liskov - LSP trong Python Interface Segregation Principle - ISP trong Python. Nguyên tắc đảo ngược sự phụ thuộc trong Python Đa kế thừa trong Python Tìm hiểu về các lớp mixin trong Python Mô tả Descriptors trong Python Phân biệt Data Descriptor và Non-data Descriptor trong Python Phương thức __new__ trong Python Tìm hiểu về Class Type trong Python Lớp Metaclass trong Python Ví dụ sử dụng metaclass trong Python Tìm hiểu về decorator dataclass trong Python Tìm hiểu về các ngoại lệ trong Python Ngoại lệ Raise trong Python Sử dụng câu lệnh raise from trong Python Ngoại lệ tùy chỉnh trong Python Module trong Python Package trong Python Class trong Python Hàm khởi tạo trong Python Kế thừa trong Python Đa kế thừa trong Python Setter và Getter trong Python Override trong Python Interface trong Python Bài tập Python: Module và Class
ADVANCED TOPICS
BỔ SUNG
PYTHON CĂN BẢN
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.

Sơ lược Date/Time trong Python

Trong bài này chúng ta sẽ tìm hiểu cách xử lý thời gian (date - time) trong Python như: Cách import object date, lấy thời gian hiện tai, định dạng thời gian, ...

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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ý.

Trong python, date không phải là kiểu dữ liệu, nhưng chúng ta có thể làm việc với các đối tượng ngày bằng cách import mô-đun có tên là datetime, time và calendar.

I. Mốc thời gian nhỏ nhất trong Python

Cũng như hầu hết các ngôn ngữ lập trình khác, Python lấy ngày1/1/1970 làm mốc nhỏ nhất. Hàm time() sẽ trả về tổng số mili giây đã trôi qua tính từ ngày 1/1/1970.

Bài viết này được đăng tại [free tuts .net]

Xem ví dụ dưới đây để hiểu rõ hơn:

import time;  
  
#In ra tổng số mili giây kể từ ngày 1/1/1970
  
print(time.time())  

Kết quả trả về tính đến thời điểm hiện tại:

1545124470.9151752

II. Cách lấy thời gian hiện tại - localtime()

Để lấy thời gian hiện tại trên hệ thống thì ta sử dụng hàm localtime(). Cách sử dụng rất đơn giản, bạn chỉ cần import module time và gọi hàm này một cách bình thường.

Xem ví dụ sau:

import time;  
  
#returns a time tuple   
  
print(time.localtime(time.time()))  

Kết quả nó trả về là một tuple.

time.struct_time(tm_year=2018, tm_mon=12, tm_mday=18, tm_hour=15, tm_min=1, 
tm_sec=32, tm_wday=1, tm_yday=352, tm_isdst=0)

III. Time tuple là gì?

Time tuple là bộ các đơn vị thời gian, gồm 9 thông số như sau:

Index Attribute Values
0 Year 4 số nguyên(for example 2018)
1 Month 1 đến 12
2 Day 1 đến 31
3 Hour 0 đến 23
4 Minute 0 đến 59
5 Second 0 đến 60
6 Day of weak 0 đến 6
7 Day of year 1 đến 366
8 Daylight savings -1, 0, 1 , or -1

IV. Hàm asctime() thay đổi format time

Bạn có thể thay đổi định dạng thời gian bằng cách sử dụng hàm asctime() năm trong module time. Nó sẽ trả về thời gian được định dạng của đối tượng time đang sử dụng hàm này.

import time;  
  
#Trả về định dạng time
  
print(time.asctime(time.localtime(time.time())))  

Kết quả:

Tue Dec 18 15:31:39 2019

V. Hàm sleep() trong Python

Hàm sleep() trong Python được dùng để dừng thực thi chương trình trong một khoảng thời gian nhất định. Số thời gian bị hoãn phụ thuộc vào giá trị mà bạn truyền vào hàm này.

Đơn vị của tham số thời gian đầu vào tính bằng giây, có thể số nguyên hoặt số thực.

Ví dụ: Tạo vòng lặp, mỗi lần lặp cho nghỉ 1 giây.

import time  
for i in range(0,5):  
    print(i)  
    #Mỗi lần lặp sẽ nghỉ 1 giây, sau đó in kết quả ra màn hình
    time.sleep(1)  

VI. Module datetime trong Python

Module datetime cho phép ta tạo đối tượng thời gian và có thể tùy chỉnh theo ý mình. Đối tượng này được sử dụng rất nhiều trong thực tế. Ví dụ bạn làm lịch hẹn giờ thì chắc chắn phải dùng module date để lấy thời gian hiện tai, datetime để lấy thời gian hẹn, sau đó so sánh và xử lý hiển thị kết quả.

Tương tự, ta phải import datetime thì mới sử dụng các phương thức - hàm ở trong module này được.

Ví dụ: In ra thời gian hiện tại

import datetime;  
  
#Trả về object time hiện tại
  
print(datetime.datetime.now())  

Kết quả:

2018-12-18 16:16:45.462778

1. Tạo date object

Ta có thể tạo một date object bằng cách truyền giá trị ngày vào ba tham số của hàm datetime.

Như ví dụ dưới đây mình truyền vào 10/12/2018.

import datetime;  
  
print(datetime.datetime(2018,12,10))  

Hoặc truyền nhiều hơn 3 tham số:

print(datetime.datetime(2018,12,10,14,15,10))  

2. So sánh 2 ngày khác nhau

Để so sánh hai ngày hơn kém nhau thì ta có thể sử dụng các toán tử so sánh (>, >=, <, <=, =).

Xem ví dụ dưới đây để hiểu rõ hơn.

from datetime import datetime as dt  
#So sánh thời gian. Nếu thời gian nằm trong khoảng 8AM và 4PM, thì in ra màn hình thời gian việc, ngược lai là thời gian nghỉ ngơi
if dt(dt.now().year,dt.now().month,dt.now().day,8)<dt.now()<dt(dt.now().year,dt.now().month,dt.now().day,16):  
    print("Thời gian lam việc ....")  
else:  
    print("Thời gian nghỉ ngơi")  

VII. Calendar module trong Python

Python cung cấp một module về xử lý lịch (calendar) chứa các phương thức khác nhau để làm việc với lịch.

Hãy xem xét ví dụ sau để in lịch của tháng cuối năm 2018.

Ví dụ
import calendar;  
cal = calendar.month(2018,12)  
#In lịch năm 2018  
print(cal)  

Kết quả:

python date and time png

Nếu bạn muốn in ra lịch của cả năm thì làm như sau:

import calendar  
  
#In lịch năm 2019  
calendar.prcal(2019)  

python date and time2 png

Cùng chuyên mục:

Sử dụng câu lệnh raise from trong Python

Sử dụng câu lệnh raise from trong Python

Ngoại lệ tùy chỉnh trong Python

Ngoại lệ tùy chỉnh trong Python

Ngoại lệ Raise trong Python

Ngoại lệ Raise trong Python

Tìm hiểu về các ngoại lệ trong Python

Tìm hiểu về các ngoại lệ trong Python

Tìm hiểu về decorator dataclass trong Python

Tìm hiểu về decorator dataclass trong Python

Ví dụ sử dụng metaclass trong Python

Ví dụ sử dụng metaclass trong Python

Lớp Metaclass trong Python

Lớp Metaclass trong Python

Tìm hiểu về Class Type trong Python

Tìm hiểu về Class Type trong Python

Phương thức __new__ trong Python

Phương thức __new__ trong Python

Phân biệt Data Descriptor và Non-data Descriptor trong Python

Phân biệt Data Descriptor và Non-data Descriptor trong Python

Mô tả Descriptors trong Python

Mô tả Descriptors trong Python

Tìm hiểu về các lớp mixin trong Python

Tìm hiểu về các lớp mixin trong Python

Đa kế thừa trong Python

Đa kế thừa trong Python

Nguyên tắc đảo ngược sự phụ thuộc trong Python

Nguyên tắc đảo ngược sự phụ thuộc trong Python

Interface Segregation Principle - ISP trong Python.

Interface Segregation Principle - ISP trong Python.

Nguyên tắc thay thế Liskov - LSP trong Python

Nguyên tắc thay thế Liskov - LSP trong Python

Nguyên tắc Đóng-Mở trong Python

Nguyên tắc Đóng-Mở trong Python

Single Responsibility Principle trong Python

Single Responsibility Principle trong Python

Cách sử dụng hàm Auto() của Python

Cách sử dụng hàm Auto() của Python

Tùy chỉnh và mở rộng lớp Enum trong Python

Tùy chỉnh và mở rộng lớp Enum trong Python

Top