• About
  • Advertise
  • Privacy & Policy
  • Contact
NQ NEWS
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
NQ NEWS
No Result
View All Result
Home Kiến thức tổng hợp Lập trình

Datetime trong Python

@admiz by @admiz
26/12/2021
in Lập trình
0
Datetime Trong Python 640 1

Trong bài viết này, Quantrimang sẽ cùng bạn học các thao tác xử lý ngày và giờ trong Python với những ví dụ cụ thể để dễ hình dung và nắm bắt hàm tốt hơn. Mời bạn đọc theo dõi.

Giới thiệu

Python có mudule datetime để làm việc và xử lý ngày giờ cùng các mốc thời gian. Hãy cùng chạy thử một vài chương trình đơn giản trước khi chúng ta đào sâu hơn.

Ví dụ 1: Trả về ngày giờ hiện tại

import datetime

datetime_object = datetime.datetime.now()
print(datetime_object)

Khi bạn chạy chương trình, output sẽ ở dạng:

2019-03-06 11:13:33.969330

Ở ví dụ này, ta vừa nhập module datetime bằng cách sử dụng câu lệnh import datetime.

Class datetime được khai báo trong module datetime, sau đó sử dụng lệnh now() để tạo một đối tượng datetime chứa ngày và giờ cục bộ hiện tại.

Ví dụ 2: Trả về ngày hiện tại

import datetime

date_object = datetime.date.today()
print(date_object)

Khi bạn chạy chương trình, output sẽ ở dạng:

2019-03-06

Trong chương trình này, ta sử dụng lệnh today() được khai báo trong class date để lấy về kết quả ngày cục bộ hiện tại.

Có gì bên trong datetime?

Bạn có thể sử dụng hàm dir() để hiển thị danh sách tất cả các thuộc tính của module datetime.

import datetime

print(dir(datetime))

Chạy chương trình, kết quả trả về là:

['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__',
'__name__', '__package__', '__spec__', 'date', 'datetime', 'datetime_CAPI', 'sys', 'time',
'timedelta', 'timezone', 'tzinfo']

Các lớp thường được sử dụng trong module datetime là:

  • Class date
  • Class time
  • Class datetime
  • Class timedelta

Lớp datetime.date

Đối tượng của class date trả về kết quả thông tin ngày tháng (date), không bao gồm thông tin thời gian. Ngày tháng được truyền ở dạng ‘year, month, day’.

import datetime

d = datetime.date(2019, 4, 12)
print(d)

Khi bạn chạy chương trình, output sẽ ở dạng:

2019-04-12

Bạn cũng có thể cập nhật class date từ module datetime như này:

from datetime import date

a = date(2019, 4, 12)
print(a)

Ví dụ 3: Cập nhật ngày hiện tại

Sử dụng phương thức today()

from datetime import date

today = date.today()
print("Ngay hien tai la:", today)

Ví dụ 4: Gọi ngày từ timestamp

Thời gian Unix (Unix timestamp) là hệ thống nhằm diễn tả một điểm trên trục thời gian, theo trục thời gian nó sử dụng số giây để xác định thời điểm, với điểm gốc từ thời điểm 00:00:00 ngày 1/1/1970 theo giờ UTC.

Ví dụ lúc 00:00:00 – 12/02/2016 có giá trị timestamp là 1455235200; Có nghĩa là tính từ 00:00:00 – 1/1/1970 đến 00:00:00 – 12/02/2016 là 1455235200 giây.

Và ở trong Python, bạn có thể tạo đối tượng ngày từ một timestamp.

from datetime import date

timestamp = date.fromtimestamp(1551916800)
print("Date =", timestamp)

Khi bạn chạy chương trình, output sẽ ở dạng:

Date = 2019-03-07

Ví dụ 5: In ra ngày tháng năm hiện tại

from datetime import date

# viết bởi Quantrimang.com
today = date.today()

print("Nam hien tai:", today.year)
print("Thang hien tai:", today.month)
print("Ngay hien tai:", today.day)

Khi bạn chạy chương trình, output sẽ ở dạng:

Nam hien tai: 2019
Thang hien tai: 3
Ngay hien tai: 7

Lớp datetime.time

Đối tượng của class time trả về kết quả thông tin thời gian (time) hiện tại, không bao gồm thông tin ngày tháng.

from datetime import time

# time(hour = 0, minute = 0, second = 0)
a = time()
print("a =", a)

# time(hour, minute and second)
b = time(11, 34, 56)
print("b =", b)

# time(hour, minute and second)
# viet boi Quantrimang.com
c = time(hour = 11, minute = 34, second = 56)
print("c =", c)

# time(hour, minute, second, microsecond)
d = time(11, 34, 56, 234566)
print("d =", d)

Kết quả trả về là:

a = 00:00:00
b = 11:34:56
c = 11:34:56
d = 11:34:56.234566

Ví dụ 6: In ra giờ, phút, giây và micro giây

from datetime import time

a = time(11, 34, 56)

print("hour =", a.hour)
print("minute =", a.minute)
print("second =", a.second)
print("microsecond =", a.microsecond)

Khi bạn chạy chương trình, output sẽ ở dạng:

hour = 11
minute = 34
second = 56
microsecond = 0

Ở ví dụ trên ta không truyền tham số cho micro giây nên giá trị trả về ở dạng mặc định là 0.

Lớp datetime.datetime

Đối tượng của class datetime trả về kết quả bao gồm thông tin của cả thời gian và ngày tháng.

from datetime import datetime

#datetime được truyền ở dạng 'year, month, day'.
a = datetime(2019, 3, 7)
print(a)

# datetime được truyền ở dạng 'year, month, day, hour, minute, second, microsecond'
b = datetime(2019, 3, 7, 23, 55, 59, 342380)
print(b)

Chạy chương trình ta được kết quả:

2019-03-07 00:00:00
2019-03-07 23:55:59.342380

3 tham số đầu tiên ‘year, month, day’ là bắt buộc.

Ví dụ 7: In ra năm, tháng, giờ, phút, timestamp

from datetime import datetime

a = datetime(2019, 3, 7, 23, 55, 59, 342380)
print("year =", a.year)
print("month =", a.month)
print("hour =", a.hour)
print("minute =", a.minute)
print("timestamp =", a.timestamp())

Kết quả trả về là:

year = 2019
month = 3
hour = 23
minute = 55
timestamp = 1551977759.34238

Lớp datetime.timedelta

Timedelta là một khoảng thời gian mô tả sự khác biệt giữa 2 mốc thời gian.

from datetime import datetime, date

# khoảng thời gian chênh lệch giữa 2 ngày tháng
t1 = date(year = 2018, month = 7, day = 12)
t2 = date(year = 2017, month = 12, day = 23)
t3 = t1 - t2
print("t3 =", t3)

t4 = datetime(year = 2018, month = 7, day = 12, hour = 7, minute = 9, second = 33)
t5 = datetime(year = 2019, month = 6, day = 10, hour = 5, minute = 55, second = 13)
t6 = t4 - t5
print("t6 =", t6)

Kết quả trả về là:

t3 = 201 days, 0:00:00
t6 = -333 days, 1:14:20

t3 và t6 ở đây đều là đối tượng timedelta

Ví dụ 8: Khoảng thời gian chênh lệch giữa 2 đối tượng timedelta

from datetime import timedelta

t1 = timedelta(weeks = 2, days = 5, hours = 1, seconds = 33)
t2 = timedelta(days = 4, hours = 11, minutes = 4, seconds = 54)
t3 = t1 - t2

print("t3 =", t3)

Chạy chương trình, ta được output như sau:

t3 = 14 days, 13:55:39

Ví dụ 9: Xử lý timedelta mang giá trị âm

from datetime import timedelta

t1 = timedelta(seconds = 33)
t2 = timedelta(seconds = 54)
t3 = t1 - t2

print("t3 =", t3)
print("t3 =", abs(t3))

Kết quả thu được là:

t3 = -1 day, 23:59:39
t3 = 0:00:21

Ví dụ 10: Chuyển khoảng thời gian chênh lệch timedelta về dạng tổng số giây

Bạn có thể chuyển kết quả về dạng tổng số giây bằng phương thức Total_seconds().

from datetime import timedelta

t = timedelta(days = 5, hours = 1, seconds = 33, microseconds = 233423)
print("tong so giay =", t.total_seconds())

Ta được kết quả:

Tong so giay = 435633.233423

Các toán tử hỗ trợ timedelta:

  • t1 = t2 + t3
    t2 = (hours = 8, seconds= 12)
    t3 = (hours = 2, minutes = 3)
    >>> t1 = (hours= 10, minutes = 3, seconds = 12)
  • t1 = t2 – t3
    t2 = (hours = 12, seconds= 2)
    t3 = (hours = 1, minutes = 4)
    >>> t1 = (hours= 11, minutes = 56, seconds = 2)
  • t1 = t2 * i
    t1 = i * t2
    t2 = (hours = 10, seconds= 2)
    i = 3
    >>> t1 = (days =1, hours = 6, seconds= 6)
  • t1 = t2
    t2 = (hours = 25, seconds= 2)
    >>> t1 = (days: 1, hours: 1, seconds: 2)
  • +t1
    Trả về t1
  • -t1
    t1 = (hours = 10, seconds= 2)
    >>> -t1 = (days = -1, hours = 13, minutes = 59, seconds= 58)
  • abs(t): Giá trị tuyệt đối, tương đương với +t khi t.days >= 0, và là -t khi t.days < 0.
    t = (hours= -25, minutes = 3)
    >>> t = (days = -2, hours = 23, minutes = 3)
    >>> abs(t) = (days = 1, hours = 0, minutes = 57)
  • str(t): Trả về string theo mẫu [D day[s], ][H]H:MM:SS[.UUUUUU], D có thể nhận giá trị âm.
  • repr(t): Trả về string theo mẫu datetime.timedelta(D[, S[, U]]), D có thể nhận giá trị âm

Định dạng thời gian Python

Ngày tháng và thời gian được sử dụng ở những dạng khác nhau, Mỹ sử dụng định dạng mm/dd/yyyy, trong khi dd/mm/yyyy phổ biến hơn ở Anh.

Python có các phương thức strftime() và strptime() để xử lý việc này.

strftime() – định dạng thời gian thành một string.

Ví dụ 11: Định dạng ngày tháng sử dụng strftime()

from datetime import datetime

# ngày giờ hiện tại
now = datetime.now()

t = now.strftime("%H:%M:%S")
print("time:", t)

s1 = now.strftime("%m/%d/%Y, %H:%M:%S")
# định dạng mm/dd/YY H:M:S
print("s1:", s1)

s2 = now.strftime("%d/%m/%Y, %H:%M:%S")
# định dạng dd/mm/YY H:M:S
print("s2:", s2)

Chương trình trả về kết quả là:

time: 04:34:52
s1: 03/07/2019, 04:34:52
s2: 07/03/2019, 04:34:52

Ở đây %Y, %m, %d, %H… là các tham số định dạng. Phương thức strftime() sử dụng để trả về một chuỗi được định dạng dựa trên các tham số đó.

Phạm vi tham số:

  • %Y – year [0001,…, 2018, 2019,…, 9999]
  • %m – month [01, 02, …, 11, 12]
  • %d – day [01, 02, …, 30, 31]
  • %H – hour [00, 01, …, 22, 23
  • %M – month [00, 01, …, 58, 59]
  • %S – second [00, 01, …, 58, 59]

strptime() – phân tích một string thành thời gian

from datetime import datetime

date_string = "7 March, 2019"
print("date_string =", date_string)

date_object = datetime.strptime(date_string, "%d %B, %Y")
print("date_object =", date_object)

Khi bạn chạy chương trình, kết quả trả về là:

date_string = 7 March, 2019
date_object = 2019-03-07 00:00:00

Hiển thị múi giờ trong Python

Giả sử, bạn đang làm việc trên một dự án và cần hiển thị ngày giờ dựa trên múi giờ mình cần. Thay vì cố gắng tự search và tìm kiếm múi giờ, bạn nên sử dụng module pytZ như sau:

from datetime import datetime
import pytz

local = datetime.now()
print("Local:", local.strftime("%m/%d/%Y, %H:%M:%S"))

tz_NY = pytz.timezone('America/New_York')
datetime_NY = datetime.now(tz_NY)
print("NY:", datetime_NY.strftime("%m/%d/%Y, %H:%M:%S"))

tz_London = pytz.timezone('Europe/London')
datetime_London = datetime.now(tz_London)
print("London:", datetime_London.strftime("%m/%d/%Y, %H:%M:%S"))

Chạy chương trình, kết quả trả về là:

Local time: 2019-03-07 13:10:44.260462
America/New_York time: 2019-03-07 13:10:44.260462
Europe/London time: 2019-03-07 13:10:44.260462

Ở ví dụ này, datetime_NY và datetime_London là các đối tượng datetime chứa ngày và giờ hiện tại của múi giờ tương ứng.

  • Module time trong Python
  • Hàm strptime() trong Python
  • Hàm sleep() trong Python
  • Ngày giờ hiện tại trong Python
  • Chuyển đổi giá trị timestamp trong Python
  • Hàm input() trong Python
Post Views: 183
Tags: DATEdatetimedatetime trong lập trìnhđịnh dạng thời gian trong pythonhiện múi giờ trong pythonTIMEtimedelta trong pythontimestampunix timestempxử lý datetime trong pythonxử lý thời gian trong python
Previous Post

Driver Easy

Next Post

Adobe công bố Photoshop Elements 2021 và Premiere Elements 2021 với nhiều tính năng mới thú vị

Related Posts

Dien Tich Tam Giac 640 1
Lập trình

Công thức tính diện tích tam giác: vuông, thường, cân, đều

26/12/2021
Huong Dan Cai Dat Node Js 640 1
Lập trình

Hướng dẫn cài đặt Node.js

26/12/2021
Cau Truc Du Lieu Hang Doi Queue 640 1
Lập trình

Cấu trúc dữ liệu hàng đợi (Queue)

26/12/2021
Hoc Css 640 8
Lập trình

Thanh điều hướng – Navigation Bar trong CSS

26/12/2021
Ms Sql Server Management Studio 640 3
Lập trình

Quản lý MS SQL Server bằng Management Studio

26/12/2021
Java Development Kit 1
Lập trình

Tải Java Development Kit 8-update-281

26/12/2021
Next Post
Adobe Cong Bo Photoshop Elements 2021 Va Premiere Elements 2021700 1

Adobe công bố Photoshop Elements 2021 và Premiere Elements 2021 với nhiều tính năng mới thú vị

Bài mới nhất

Dịch Vụ Thiết Kế Website Tại Hải Dương Chuyên Nghiệp, ấn Tượng Và Uy Tín 612d25752b14f.png

Dịch vụ thiết kế website tại Hải Dương chuyên nghiệp, ấn tượng và uy tín

06/05/2025
Top Công Ty Thiết Kế Website Tại Biên Hòa Chuyên Nghiệp, Chuẩn Seo 612d259494e93.jpeg

Top công ty thiết kế website tại Biên Hòa chuyên nghiệp, chuẩn SEO

06/05/2025
Top Công Ty Thiết Kế Website Tại Vinh – Nghệ An Uy Tín 612d259a9cae3.jpeg

Top công ty thiết kế website tại Vinh – Nghệ An uy tín

05/05/2025
Top 10 Công Ty Thiết Kế Website Tại Nha Trang Chuyên Nghiệp 612d0a9ad018b.jpeg

Top 10 công ty thiết kế website tại Nha Trang chuyên nghiệp

05/05/2025
Các Dịch Vụ Thiết Kế Website Tại Vĩnh Phúc Chuyên Nghiệp, Uy Tín Nhất 612d0a91e63af.jpeg

Các dịch vụ thiết kế website tại Vĩnh Phúc chuyên nghiệp, uy tín nhất

04/05/2025

Danh mục

  • Android
  • Bảo mật máy tính
  • Bảo mật, Antivirus
  • Chuyện công nghệ
  • Deep Learning
  • Development
  • Dịch vụ công trực tuyến
  • Dịch vụ nhà mạng
  • Giải pháp bảo mật
  • Hệ thống
  • Hệ thống
  • iPhone
  • Kiến thức bảo mật
  • Kiến thức cơ bản phổ thông
  • Kiến thức Marketing căn bản
  • Kiến thức tổng hợp
  • Lập trình
  • Linux
  • Linux OS
  • macOS
  • Mail Server
  • Mạng LAN – WAN
  • Máy ảo
  • Máy chủ
  • ms excel
  • ms-powerpoint
  • Nền tảng điện toán đám mây
  • Phần cứng
  • Phần Mềm
  • Quản trị hệ thống
  • Raspberry Pi
  • Sửa lỗi máy tính
  • Tăng tốc máy tính
  • Thủ thuật
  • Thủ thuật SEO
  • Thủ thuật Wifi
  • Tiện ích hệ thống
  • Tin học văn phòng
  • Tin tức
  • Uncategorized
  • Ứng dụng
  • Website
  • Windows Server 2012

Thẻ

#app #chatbot #chatbot tự động #CRM #Kiến thức cơ bản #Techblog #Thiết kế website Android apple CPU Email Marketing Google Google Drive hacker HTML hàm python hàm python có sẵn hình nền hình nền máy tính học css học python học SQL ios iphone iphone 12 iPhone X macos Microsoft mssql MS SQL Server ngôn ngữ lập trình python Raspberry Pi Samsung smartphone SQL SQL Server tham số trong C thủ thuật windows 10 tài liệu python windows windows 10 YouTube điện thoại thông minh ứng dụng
  • About
  • Advertise
  • Privacy & Policy
  • Contact

© 2022 Pha Le Solution

No Result
View All Result
  • Home

© 2022 Pha Le Solution