Python - Ngày và giờ
Thông thường trong khoa học dữ liệu, chúng ta cần phân tích dựa trên các giá trị thời gian. Python có thể xử lý các định dạng ngày và giờ khác nhau một cách duyên dáng. Cácdatetime thư viện cung cấp các phương pháp và chức năng cần thiết để xử lý các tình huống sau.
- Ngày giờ biểu diễn
- Ngày giờ số học
- So sánh ngày giờ
Chúng ta sẽ nghiên cứu từng cái một.
Ngày giờ biểu diễn
Ngày và các phần khác nhau của nó được thể hiện bằng cách sử dụng các hàm ngày giờ khác nhau. Ngoài ra, có các mã định dạng đóng vai trò hiển thị các phần theo thứ tự bảng chữ cái của ngày như tên của tháng hoặc ngày trong tuần. Đoạn mã sau đây hiển thị ngày hôm nay và các phần khác nhau của ngày.
import datetime
print 'The Date Today is :', datetime.datetime.today()
date_today = datetime.date.today()
print date_today
print 'This Year :', date_today.year
print 'This Month :', date_today.month
print 'Month Name:',date_today.strftime('%B')
print 'This Week Day :', date_today.day
print 'Week Day Name:',date_today.strftime('%A')
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả như sau.
The Date Today is : 2018-04-22 15:38:35.835000
2018-04-22
This Year : 2018
This Month : 4
Month Name: April
This Week Day : 22
Week Day Name: Sunday
Ngày giờ số học
Đối với các phép tính liên quan đến ngày tháng, chúng tôi lưu trữ các ngày khác nhau thành các biến và áp dụng toán tử toán học có liên quan cho các biến này.
import datetime
#Capture the First Date
day1 = datetime.date(2018, 2, 12)
print 'day1:', day1.ctime()
# Capture the Second Date
day2 = datetime.date(2017, 8, 18)
print 'day2:', day2.ctime()
# Find the difference between the dates
print 'Number of Days:', day1-day2
date_today = datetime.date.today()
# Create a delta of Four Days
no_of_days = datetime.timedelta(days=4)
# Use Delta for Past Date
before_four_days = date_today - no_of_days
print 'Before Four Days:', before_four_days
# Use Delta for future Date
after_four_days = date_today + no_of_days
print 'After Four Days:', after_four_days
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả như sau.
day1: Mon Feb 12 00:00:00 2018
day2: Fri Aug 18 00:00:00 2017
Number of Days: 178 days, 0:00:00
Before Four Days: 2018-04-18
After Four Days: 2018-04-26
So sánh ngày giờ
Ngày và giờ được so sánh bằng cách sử dụng các toán tử logic. Nhưng chúng ta phải cẩn thận trong việc so sánh các phần đúng của ngày tháng với nhau. Trong các ví dụ dưới đây, chúng tôi lấy ngày trong tương lai và quá khứ và so sánh chúng bằng cách sử dụng mệnh đề python if cùng với các toán tử logic.
import datetime
date_today = datetime.date.today()
print 'Today is: ', date_today
# Create a delta of Four Days
no_of_days = datetime.timedelta(days=4)
# Use Delta for Past Date
before_four_days = date_today - no_of_days
print 'Before Four Days:', before_four_days
after_four_days = date_today + no_of_days
date1 = datetime.date(2018,4,4)
print 'date1:',date1
if date1 == before_four_days :
print 'Same Dates'
if date_today > date1:
print 'Past Date'
if date1 < after_four_days:
print 'Future Date'
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả như sau.
Today is: 2018-04-22
Before Four Days: 2018-04-18
date1: 2018-04-04
Past Date
Future Date