Cách trừ ngày trong Python
nhập ngày giờ Show
# Thời gian khác biệt cho thời gian Thái Bình Dương pacificTimeDelta = ngày giờ. múi giờ(giờ=-8) # Ví dụ: tạo múi giờ PST tzPST = ngày giờ. múi giờ (pacificTimeDelta, name="PST") # tạo ngày giờ cho 1 giờ chiều PST - 31Dec2017 - Đối tượng nhận biết OnePMyearEndPST = ngày giờ. ngày giờ(2017,12,31,1,0,0,0,tzPST) # Thời gian chênh lệch cho giờ EST nycTimeDelta = ngày giờ. múi giờ(giờ=-8) # Ví dụ: tạo múi giờ PST tzEST = ngày giờ. múi giờ (nycTimeDelta, name="EST") # tạo ngày giờ cho 1 giờ chiều PST - 31Dec2017 - Đối tượng nhận biết TwoPMyearEndEST = ngày giờ. ngày giờ(2017,12,31,2,0,0,0,kiểm tra) in(HaiPMyearEndEST-OnePMyearEndPST) Trong hướng dẫn tự động hóa Python ngày hôm nay, chúng tôi muốn chỉ ra cách bạn có thể dễ dàng trừ và tính chênh lệch thời gian bằng ngôn ngữ Python Chúng tôi sẽ sử dụng mô-đun datetime để tính toán
Trừ ngày từ một đối tượng datetime trong PythonHãy xác định hai đối tượng ngày đại diện cho ngày tuyển dụng và nghỉ việc của một nhân viên ngẫu nhiên
Sau đó, hãy tính tổng thời gian làm việc
Đây là kết quả
Trừ timedelta từ datetimeBây giờ chúng ta sẽ xác định một datetime và timedelta đại diện cho ngày thuê và số ngày làm việc cho nhân viên hư cấu của chúng ta
Hãy tính nhanh ngày nghỉ việc của nhân viên này
Đây là kết quả
Ghi chú. Một cách khác để thực hiện điều này là sử dụng dateutil. phương pháp tương đối
Trừ năm từ datetimengày sử dụng. tiện ích relativedelta cho phép dễ dàng trừ thời gian khỏi một đối tượng ngày
Kết quả sẽ là ________số 8_______Ghi chú. Đừng quên nhập tiện ích vào chương trình Python của bạn, nếu không bạn sẽ nhận được NameError sau NameError: name 'relativedelta' is not defined Trừ tháng từ ngày PythonNhư chúng ta vừa học, chúng ta có thể sử dụng tiện ích relativedelta để tính toán sự khác biệt về thời gian so với dấu thời gian / ngày của Python Giả sử chúng ta có một ngày ’21/1/2021′ và chúng ta muốn trừ N ngày cho ngày đó và N có thể là 1, 7, 300 hoặc bất kỳ số nào khác. Chúng tôi muốn ngày cuối cùng sau khi trừ đi N ngày kể từ ngày đã cho. Hãy xem làm thế nào để làm điều đó, Trừ ngày từ một ngày trong Python bằng cách sử dụng timedelta và datetimePython cung cấp một mô-đun datetime để thao tác ngày và giờ. Nó bao gồm các lớp sau,
Để trừ ngày từ một ngày nhất định, chúng ta sẽ sử dụng các lớp datetime và timedelta của mô-đun datetime của python Các bước để trừ N ngày cho đến nay như sau,
Hãy hiểu với một ví dụ, quảng cáo Trừ 10 ngày kể từ một ngày trong python bằng timedeltafrom datetime import datetime from datetime import timedelta given_date = '21/1/2021' print('Given Date: ', given_date) # Create datetime object from date string date_format = '%d/%m/%Y' dtObj = datetime.strptime(given_date, date_format) # Subtract 10 days from a given datetime object n = 10 past_date = dtObj - timedelta(days=n) print('Past Date: ', past_date) print('Past Date: ', past_date.date()) past_date_str = past_date.strftime(date_format) print('Past Date as string object: ', past_date_str) đầu ra Given Date: 21/1/2021 Past Date: 2021-01-11 00:00:00 Past Date: 2021-01-11 Past Date as string object: 11/01/2021 Chúng tôi đã trừ đi 10 ngày trong ngày '21/1/2021′ để thành '01/11/2021′ Khi chúng tôi trừ timedelta (có thời hạn 10 ngày) khỏi đối tượng datetime, do đó, nó trả về một đối tượng datetime mới trỏ đến ngày mới. Vì đối tượng datetime cũng có dấu thời gian nên nó cũng được in. Nếu bạn chỉ muốn ngày, thì bạn có thể tìm nạp đối tượng ngày từ đối tượng datetime bằng hàm date(), giống như chúng ta đã làm trong ví dụ trên. Cuối cùng, chúng tôi đã chuyển đổi đối tượng datetime sang định dạng chuỗi được yêu cầu bằng cách sử dụng datetime. strftime() Trừ ngày từ một ngày trong Python bằng PandasPandas cung cấp một lớp DateOffset, để lưu trữ thông tin về thời lượng hoặc khoảng thời gian. Nó chủ yếu được sử dụng để tăng hoặc giảm dấu thời gian. Nó có thể được sử dụng với mô-đun datetime để trừ N ngày từ một ngày Hãy hiểu với một ví dụ, Trừ 100 ngày kể từ một ngày trong pythonfrom datetime import datetime import pandas as pd given_date = '1/21/2021' print('Given Date: ', given_date) # Create datetime object from date string date_format = '%m/%d/%Y' dtObj = datetime.strptime(given_date, date_format) # Subtract 100 days from a given datetime object n = 100 past_date = dtObj - pd.DateOffset(days=n) print('Past Date: ', past_date) print('Past Date: ', past_date.date()) past_date_str = past_date.strftime(date_format) print('Past Date as string object: ', past_date_str) đầu ra Given Date: 1/21/2021 Past Date: 2020-10-13 00:00:00 Past Date: 2020-10-13 Past Date as string object: 10/13/2020 Chúng tôi đã tạo một đối tượng DateOffset bằng cách chuyển ngày thành 100. Sau đó, chúng tôi đã trừ đối tượng DateOffset này khỏi đối tượng datetime. Nó trả về một đối tượng datetime trỏ đến ngày tôi. e. trước 100 ngày kể từ ngày nhất định |