nhập ngày giờ
# 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
- Sự khác biệt giữa hai ngày
- Sự khác biệt giữa một ngày và một đối tượng timedelta
- Trừ các múi giờ khác khỏi các đối tượng ngày. năm, tháng, giờ, phút, giây
Trừ ngày từ một đối tượng datetime trong Python
Hã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
import datetime
hire_date = datetime.date[2021,4, 7]
quit_date = datetime.date[2022,4, 24]
Sau đó, hãy tính tổng thời gian làm việc
print["The overall time that this employee worked in our company was:" + str[quit_date - hire_date].split[','][0]+"."]
Đây là kết quả
The overall time that this employee worked in our company was:382 days.
Trừ timedelta từ datetime
Bâ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
import datetime
hire_date = datetime.date[2021,4, 7]
worked_days = datetime.timedelta[282]
Hãy tính nhanh ngày nghỉ việc của nhân viên này
print["The hire date of this employee worked in our company was: " + str[quit_date - worked_days]+"."]
Đây là kết quả
The hire date of this employee worked in our company was: 2021-06-08.
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
print[quit_date - relativedelta[days = 282]]
Trừ năm từ datetime
ngà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
from dateutil.relativedelta import relativedelta
graduation_date = quit_date - relativedelta[years = 2]
print["His graduation date was on: " + str[graduation_date]]
Kết quả sẽ là
________số 8Ghi 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 Python
Như 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
Điều cần thiết là phải có một mô-đun có thể sửa đổi ngày và giờ vì như chúng ta đều biết, chúng được sử dụng trong các ứng dụng mà chúng ta phải theo dõi ngày và giờ. Mô-đun DateTime trong Python xử lý ngày và giờ. Python đi kèm với một mô-đun datetime tích hợp
Việc cài đặt hai thư viện mới là cần thiết trước khi bất kỳ sửa đổi dữ liệu nào có thể diễn ra
- Ngày và thời gian được truy xuất nhanh chóng bằng thư viện mũi tên
- Có thể truy cập và sử dụng DataFrame nhờ thư viện Pandas
Chuyển đến bảng điều khiển IDE để cài đặt các thư viện này. Chạy mã bên dưới tại dấu nhắc lệnh [$]. Dấu nhắc lệnh cho thiết bị đầu cuối được sử dụng trong hình minh họa này được biểu thị bằng ký hiệu đô la [$]. Lời nhắc trên thiết bị đầu cuối của bạn có thể khác
phương pháp được sử dụng
thời gian - Nó hiển thị thời gian, không phụ thuộc vào bất kỳ ngày cụ thể nào với các thuộc tính là giờ, phút, giây, micro giây và tzinfo
timedelta - Nó được sử dụng để thao tác Ngày
date − Nó hiển thị ngày theo lịch Gruzia với các thuộc tính là năm, tháng và ngày
tzinfo − Nó cung cấp thông tin về Múi giờ
datetime - Nó là một tập hợp Ngày và Giờ với các thuộc tính năm, tháng, ngày, giờ, phút, giây, micro giây và tzinfo
cú pháp
print["The overall time that this employee worked in our company was:" + str[quit_date - hire_date].split[','][0]+"."]
0Lưu ý - nếu chúng tôi không chỉ định theo mặc định, nó sẽ lấy số nguyên là một ngày
thuật toán
Khởi tạo một chuỗi và sử dụng phương thức today để truy xuất ngày hiện tại và phương thức split để tách nó thành Danh sách
Khai báo một biến mới gọi datetime. date[] và nhận ba đối số. năm hiện tại, tháng và ngày hiện tại
Khai báo một biến sử dụng timedelta và truyền vào một số nguyên là số ngày cần trừ khỏi ngày ban đầu
Trả về sự khác biệt của datetime. biến date[] và biến timedelta
Phương pháp 1. sử dụng ngày giờ. múi giờ[]
Ví dụ
Phương thức này lấy ngày hiện tại dưới dạng một chuỗi và chia nó thành một Danh sách. Sau đó, ngày hiện tại [ngày lĩnh lương] được định cấu hình và mười [10] ngày được trừ đi [datetime. timedelta[10]] từ cùng một ngày để trả về một ngày mới
đầu ra
print["The overall time that this employee worked in our company was:" + str[quit_date - hire_date].split[','][0]+"."]
1Giải thích mã
Khai báo ngày hôm nay truy xuất ngày hiện tại [yyyy-mm-dd] và tách chuỗi ngày trên dấu gạch nối [tách['-']]. Điều này trả về ngày hiện tại dưới dạng Danh sách các chuỗi ['2022', '05', '27']. Khai báo payday gọi datetime. date[] và nhận ba [3] đối số nguyên. năm hiện tại [int[get_today[0]]], tháng hiện tại [int[get_today[1]]] và ngày, [25]. Khai báo chqday sử dụng timedelta và truyền một số nguyên, [10] là số ngày cần trừ khỏi ngày ban đầu [25]. Khai báo n_payday trừ ngày lĩnh lương từ chqday. Cuối cùng, đầu ra của n_paydy được gửi đến thiết bị đầu cuối
Phương pháp 2. Sử dụng Pandas để trừ các cột ngày
Ví dụ
Nếu bạn muốn xác định sự khác biệt giữa hai ngày nhưng không muốn thiết lập một ngày mới thì sao?
đầu ra
print["The overall time that this employee worked in our company was:" + str[quit_date - hire_date].split[','][0]+"."]
2Giải thích mã
Đầu tiên, một Khung dữ liệu với các cột được tuyển dụng và loại bỏ được tạo. Kết quả được lưu vào df. Hai dòng tiếp theo thêm hai hàng vào DataFrame df và lưu dữ liệu vào biến có liên quan [df. thuê hoặc df. Bị sa thải]. Sau đó, một đối tượng Datetime được tạo từ hai dòng này và được lưu trữ vào biến có liên quan đã nêu ở trên. Nó trừ hai ngày và lưu kết quả vào diff
Phần kết luận
datetime là tập hợp Ngày và Giờ với các thuộc tính năm, tháng, ngày, giờ, phút, giây, micro giây và tzinfo. timedelta[] được sử dụng để thao tác ngày. Tính toán sự khác biệt giữa timedelta và datetime. biến ngày để trả về đầu ra mong muốn i. e để trừ một ngày từ ngày Python