Hướng dẫn dùng datetime.timedelta python

Trong Python, date, time and datetime các lớp cung cấp một số hàm để xử lý ngày, giờ và khoảng thời gian. Ngày và giờ trong Python là các đối tượng, vì vậy khi bạn thao tác chúng, bạn thực sự đang thao tác các đối tượng chứ không phải chuỗi hoặc dấu thời gian. Bất cứ khi nào bạn thao tác ngày hoặc giờ, bạn cần nhập hàm datetime.

Các lớp datetime trong Python được phân loại thành 5 lớp chính.

  • date – Thao tác chỉ ngày (Tháng, ngày, năm)
  • time – Thời gian không phụ thuộc vào ngày (Giờ, phút, giây, micro giây)
  • datetime – Sự kết hợp của thời gian và ngày (Tháng, ngày, năm, giờ, giây, micro giây)
  • timedelta— Khoảng thời gian được sử dụng để điều chỉnh ngày tháng
  • tzinfo— Một lớp trừu tượng để xử lý các múi giờ

  • Cách sử dụng Date & DateTime
  • Ngày in bằng date.today ()
    • Số ngày trong tuần hôm nay
  • Ngày và giờ hiện tại trong Python: bây giờ () hôm nay ()
  • Cách định dạng đầu ra ngày và giờ với Strftime ()
  • Timedelta trong Python là gì?
  • Cách sử dụng Timedelta Objects
  • Ví dụ Python 2
  • Bản tóm tắt
    • Kết luận:

Cách sử dụng Date & DateTime

Bước 1) Trước khi bạn chạy mã cho định dạng ngày giờ bằng Python, điều quan trọng là bạn phải nhập các mô-đun ngày giờ trong Python như được hiển thị trong ảnh chụp màn hình bên dưới.

Các câu lệnh nhập này là các phần chức năng được xác định trước trong thư viện Python cho phép bạn thao tác ngày và giờ mà không cần viết bất kỳ mã nào.

Hãy xem xét các điểm sau trước khi thực thi mã định dạng ngày giờ trong Python

from datetime import date

Dòng này yêu cầu trình thông dịch Python nhập lớp ngày từ mô-đun datetime trong Python. Chúng tôi không viết mã cho chức năng ngày này, mặc dù chúng tôi chỉ nhập nó để sử dụng

Bước 2) Tiếp theo, chúng ta tạo một thể hiện của đối tượng date.

Hướng dẫn dùng datetime.timedelta python

Bước 3) Tiếp theo, chúng tôi in ngày và chạy mã.

Hướng dẫn dùng datetime.timedelta python

Ngày in bằng date.today ()

date.today có một số thuộc tính được liên kết với nó. Chúng tôi có thể in cá nhân ngày / tháng / năm và nhiều thứ khác

Hãy xem một ví dụ

Hướng dẫn dùng datetime.timedelta python

Số ngày trong tuần hôm nay

Hàm date.today () cũng cung cấp cho bạn số ngày trong tuần. Đây là Bảng các ngày trong tuần bắt đầu với Thứ Hai là 0 và Chủ Nhật là 6

DayWeekDay Number
Monday 0
Tuesday 1
Wednesday 2
Thursday 3
Friday 4
Saturday 5
Sunday 6

Số ngày trong tuần hữu ích cho các mảng có chỉ mục phụ thuộc vào Ngày trong tuần.

Hướng dẫn dùng datetime.timedelta python

Ngày và giờ hiện tại trong Python: bây giờ () hôm nay ()

Bước 1) Giống như Đối tượng Ngày, chúng ta cũng có thể sử dụng DATETIME OBJECTS bằng Python. Các đối tượng ngày và giờ trong Python cung cấp ngày cùng với thời gian trong hours, minutes, seconds and milliseconds.

Hướng dẫn dùng datetime.timedelta python

Khi chúng tôi thực thi mã cho datetime, nó đưa ra kết quả với ngày và giờ hiện tại.

Bước 2) Với DATETIME OBJECT bạn cũng có thể gọi lớp thời gian.

Giả sử chúng ta chỉ muốn in thời gian hiện tại mà không có ngày tháng.

t = datetime.time(datetime.now())
  • Chúng tôi đã nhập lớp thời gian. Chúng tôi sẽ gán cho nó giá trị hiện tại của thời gian bằng cách sử dụng datetime.now ()
  • Chúng tôi đang gán giá trị của thời gian hiện tại cho biến t.

Và điều này sẽ cho tôi thời gian. Vì vậy, hãy chạy chương trình này.

Hướng dẫn dùng datetime.timedelta python

Bước 3) Chúng tôi sẽ áp dụng công cụ lập chỉ mục ngày trong tuần của chúng tôi cho arrayList ngày trong tuần của chúng tôi để biết hôm nay là ngày nào

  • Ngày trong tuần (wd) được gán số từ số (0-6) tùy thuộc vào ngày trong tuần hiện tại là gì. Ở đây chúng tôi đã khai báo mảng của danh sách cho các ngày (Thứ Hai, Thứ Ba, Thứ Tư… Chủ Nhật).
  • Sử dụng giá trị chỉ số đó để biết đó là ngày nào. Trong trường hợp của chúng tôi, nó là # 2 và nó đại diện cho Thứ Tư, vì vậy trong đầu ra, nó sẽ in ra Which is a Wednesday.

Hướng dẫn dùng datetime.timedelta python

Đây là mã hoàn chỉnh để lấy ngày và giờ hiện tại bằng cách sử dụng datetime

from datetime import date
from datetime import time
from datetime import datetime
def main():
    ##DATETIME OBJECTS
    #Get today's date from datetime class
    today=datetime.now()
    #print (today)
    # Get the current time
    #t = datetime.time(datetime.now())
    #print "The current time is", t
    #weekday returns 0 (monday) through 6 (sunday)
    wd=date.weekday(today)
    #Days start at 0 for monday
    days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
    print("Today is day number %d" % wd)
    print("which is a " + days[wd])

if __name__== "__main__":
    main()

Cách định dạng đầu ra ngày và giờ với Strftime ()

Như bây giờ chúng ta đã học cách sử dụng đối tượng datetime và date trong Python. Chúng ta sẽ tiến thêm một bước nữa và tìm hiểu cách sử dụng chức năng định dạng để định dạng Ngày và Giờ.

Bước 1) Đầu tiên, chúng ta sẽ thấy một bước đơn giản về cách định dạng năm. Tốt hơn là hiểu bằng một ví dụ.

Hướng dẫn dùng datetime.timedelta python

  • Chúng tôi đã sử dụng strftime function để định dạng.
  • Chức năng này sử dụng khác nhau control code để đưa ra một đầu ra.
  • Mỗi mã điều khiển giống với các thông số khác nhau như năm, tháng, ngày trong tuần và ngày [(%y/%Y – Year), (%a/%A- weekday), (%b/%B- month), (%d – day of month)] .
  • Trong trường hợp của chúng tôi, nó là (%Y) tương tự như năm, nó in ra năm đầy đủ cùng với thế kỷ (ví dụ: 2018).

Bước 2) Bây giờ nếu bạn thay thế (%Y) với chữ thường, tức là, ( %y) Và thực thi mã, đầu ra sẽ chỉ hiển thị (18) và không hiển thị (2018). Thế kỷ của năm sẽ không hiển thị như trong ảnh chụp màn hình bên dưới

Hướng dẫn dùng datetime.timedelta python

Bước 3) Hàm strf có thể khai báo ngày, ngày, tháng, năm riêng biệt. Ngoài ra với những thay đổi nhỏ trong mã điều khiển trong hàm strftime, bạn có thể định dạng kiểu của văn bản.

Hướng dẫn dùng datetime.timedelta python

Bên trong hàm strftime nếu bạn thay thế (% a) bằng viết hoa A, tức là (% A), kết quả sẽ in ra dưới dạng Firday chỉ là một chữ viết tắt Fri.

Hướng dẫn dùng datetime.timedelta python

Bước 4) Với sự giúp đỡ của Strftime chúng tôi cũng có thể truy xuất ngày, giờ hệ thống cục bộ hoặc cả hai.

  1. % C- cho biết ngày và giờ địa phương
  2. % x- cho biết ngày địa phương
  3. % X- cho biết giờ địa phương

Hướng dẫn dùng datetime.timedelta python

Trong đầu ra, bạn có thể thấy kết quả như mong đợi

Bước 5) Các strftime function cho phép bạn gọi thời gian ở bất kỳ định dạng nào 24 giờ hoặc 12 giờ.

Hướng dẫn dùng datetime.timedelta python

Chỉ bằng cách xác định mã điều khiển như% I / H cho giờ,% M cho phút,% S cho giây, người ta có thể gọi thời gian cho các định dạng khác nhau

12 giờ thời gian được khai báo [print now.strftime(%I:%M:%S %p) ]

24 giờ thời gian được khai báo [print now.strftime(%H:%M)]

Đây là mã hoàn chỉnh để chuyển đổi datetime sang đối tượng String.
#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
   #Times and dates can be formatted using a set of predefined string
   #Control codes
      now= datetime.now() #get the current date and time
      #%c - local date and time, %x-local's date, %X- local's time
      print(now.strftime("%c"))
      print(now.strftime("%x"))
      print(now.strftime("%X"))
##### Time Formatting ####
      #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
      print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM
      print(now.strftime("%H:%M")) # 24-Hour:Minute

if __name__== "__main__":
    main()

Timedelta in Python là một đối tượng đại diện cho thời lượng. Nó chủ yếu được sử dụng để tính toán khoảng thời gian giữa hai ngày và thời gian. Nó cũng được sử dụng để truy xuất đối tượng với một số ngày và giờ delta. Đối tượng hẹn giờ hỗ trợ các phép toán như cộng, trừ, nhân, chia, v.v.

Cách sử dụng Timedelta Objects

Với các đối tượng hẹn giờ trong Python, bạn có thể ước tính thời gian cho cả tương lai và quá khứ. Nói cách khác, đó là khoảng thời gian để dự đoán bất kỳ ngày, tháng hoặc giờ đặc biệt nào.

Bước 1) Để chạy Đối tượng Timedelta, trước tiên bạn cần khai báo câu lệnh nhập và sau đó thực thi mã

Hướng dẫn dùng datetime.timedelta python

  1. Viết câu lệnh nhập cho thời gian
  2. Bây giờ hãy viết mã để in ra đối tượng từ delta thời gian như được hiển thị trong ảnh chụp màn hình
  3. Chạy mã. Đồng hồ bấm giờ thể hiện khoảng 365 ngày, 8 giờ và 15 phút và in giống nhau

Gây nhầm lẫn? Bước tiếp theo sẽ giúp-

Bước 2) Hãy lấy ngày và giờ hôm nay để kiểm tra xem báo cáo nhập của chúng ta có hoạt động tốt hay không. Khi mã được thực thi, nó sẽ in ra ngày hôm nay có nghĩa là câu lệnh nhập của chúng tôi đang hoạt động tốt.

Hướng dẫn dùng datetime.timedelta python

Bước 3) Chúng ta sẽ xem cách chúng ta có thể truy xuất ngày một năm kể từ bây giờ thông qua các đối tượng delta. Khi chúng tôi chạy mã, nó cho kết quả như mong đợi.

Hướng dẫn dùng datetime.timedelta python

Bước 4) Một ví dụ khác về cách delta thời gian có thể được sử dụng để tính toán ngày trong tương lai từ ngày và giờ hiện tại

Hướng dẫn dùng datetime.timedelta python

Bước 5) Hãy xem xét một ví dụ phức tạp hơn. Tôi muốn xác định bao nhiêu ngày qua Tết. Đây là cách chúng tôi sẽ tiến hành

  • Sử dụng today = date.today (), chúng ta sẽ nhận được ngày của ngày
  • Chúng tôi biết năm mới luôn diễn ra vào ngày 1 tháng 1, nhưng năm có thể khác. Sử dụng nyd = date (today.year, 1,1) chúng ta lưu trữ năm mới trong biến nyd
  • if nyd
  • ((today-nyd) .days) cung cấp sự khác biệt giữa ngày hiện tại và năm mới tính bằng DAYS

Hướng dẫn dùng datetime.timedelta python
Dưới đây là mã code

#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

# construct a basic timedelta and print it
print (timedelta(days=365, hours=8, minutes=15))
# print today's date
print ("today is: " + str(datetime.now()))
# print today's date one year from now
print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365)))
# create a timedelta that uses more than one argument
# print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)))
# How many days until New Year's Day?
today = date.today()  # get todays date
nyd = date(today.year, 1, 1)  # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
    print ("New Year day is already went by %d days ago" % ((today - nyd).days))

Ví dụ Python 2

from datetime import date
from datetime import time
from datetime import datetime
def main():
 	##DATETIME OBJECTS
    #Get today's date from datetime class
	today=datetime.now()
	#print today
	# Get the current time
	#t = datetime.time(datetime.now())
	#print "The current time is", t
	#weekday returns 0 (monday) through 6 (sunday)
        wd = date.weekday(today)
	#Days start at 0 for monday
        days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
        print "Today is day number %d" % wd
        print "which is a " + days[wd]

if __name__== "__main__":
    main()
#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
   #Times and dates can be formatted using a set of predefined string
   #Control codes
      now= datetime.now() #get the current date and time
      #%c - local date and time, %x-local's date, %X- local's time
      print now.strftime("%c")
      print now.strftime("%x")
      print now.strftime("%X")
##### Time Formatting ####   
      #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
      print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM
      print now.strftime("%H:%M") # 24-Hour:Minute   

if __name__== "__main__":
    main()
#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

# construct a basic timedelta and print it
print timedelta(days=365, hours=8, minutes=15)
# print today's date
print "today is: " + str(datetime.now())
# print today's date one year from now
print "one year from now it will be:" + str(datetime.now() + timedelta(days=365))
# create a timedelta that uses more than one argument
# print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))
# How many days until New Year's Day?
today = date.today()  # get todays date
nyd = date(today.year, 1, 1)  # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
    print "New Year day is already went by %d days ago" % ((today - nyd).days)

Bản tóm tắt

Để thao tác ngày và giờ theo cả cách đơn giản và phức tạp, mô-đun datetime cung cấp các lớp hoặc danh mục khác nhau như

  • date – Thao tác chỉ ngày (Tháng, ngày, năm)
  • time – Thời gian không phụ thuộc vào ngày (Giờ, phút, giây, micro giây)
  • datetime – Sự kết hợp của thời gian và ngày (Tháng, ngày, năm, giờ, giây, micro giây)
  • timedelta— Khoảng thời gian được sử dụng để điều chỉnh ngày tháng
  • tzinfo— Một lớp trừu tượng để xử lý các múi giờ

Sử dụng Date Time

  • Nhập các đối tượng datetime trước khi thực thi mã là bắt buộc
  • Sử dụng chức năng date.today để in ngày / tháng / năm riêng lẻ cũng như lập chỉ mục ngày
  • Sử dụng đối tượng date.time để xem thời gian theo giờ, phút, giây và mili giây

Định dạng Time-Out với chức năng str f time

  • Sử dụng str f time function để thay đổi định dạng của năm
  • In ngày, tháng, tháng và năm riêng biệt,
  • Thời gian gọi ra cho bất kỳ định dạng nào là 12 giờ hoặc 24 gi
  • Đối tượng Timedelta
  • Với các đối tượng hẹn giờ, bạn có thể ước tính thời gian cho cả tương lai và quá khứ
  • Tính tổng số ngày còn lại cho ngày đặc biệt (sinh nhật) từ thời điểm hiện tại
  • Tính tổng số ngày đã qua cho ngày đặc biệt (sinh nhật) từ thời điểm hiện tại.

Kết luận:

Trên đây là toàn bộ những thông tin Ví dụ về định dạng DateTime, TimeDelta, Strftime trong Python. Chúng tôi hy vọng vấn đề của bạn đã được giải quyết. Tuy nhiên, nếu bạn bạn còn gặp những vấn đề nào khác có thể để lại bình luận. Nếu thấy bài viết hay thì hãy Like & Share nhé! Ngoài ra, hãy theo dõi chúng tôi tại: Softgeek.org