Python - วันที่และเวลา
บ่อยครั้งในวิทยาศาสตร์ข้อมูลเราต้องการการวิเคราะห์ซึ่งอิงตามค่าทางโลก Python สามารถจัดการวันที่และเวลารูปแบบต่างๆได้อย่างสง่างาม datetime ไลบรารีจัดเตรียมวิธีการและฟังก์ชันที่จำเป็นเพื่อจัดการกับสถานการณ์ต่อไปนี้
- การแสดงวันเวลา
- วันที่เวลาเลขคณิต
- การเปรียบเทียบวันเวลา
เราจะศึกษาพวกเขาทีละคน
การแสดงวันเวลา
วันที่และส่วนต่างๆจะแสดงโดยใช้ฟังก์ชันวันที่และเวลาที่แตกต่างกัน นอกจากนี้ยังมีตัวระบุรูปแบบที่มีบทบาทในการแสดงส่วนตามตัวอักษรของวันที่เช่นชื่อของเดือนหรือวันในสัปดาห์ รหัสต่อไปนี้แสดงวันที่ของวันนี้และส่วนต่างๆของวันที่
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')
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังต่อไปนี้
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
วันที่เวลาเลขคณิต
สำหรับการคำนวณเกี่ยวกับวันที่เราจัดเก็บวันที่ต่างๆไว้ในตัวแปรและใช้ตัวดำเนินการทางคณิตศาสตร์ที่เกี่ยวข้องกับตัวแปรเหล่านี้
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
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังต่อไปนี้
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
การเปรียบเทียบวันเวลา
วันที่และเวลาถูกเปรียบเทียบโดยใช้ตัวดำเนินการเชิงตรรกะ แต่เราต้องระมัดระวังในการเปรียบเทียบส่วนที่ถูกต้องของวันที่ซึ่งกันและกัน ในตัวอย่างด้านล่างเราใช้วันที่ในอนาคตและอดีตและเปรียบเทียบโดยใช้ python if clause ร่วมกับตัวดำเนินการทางตรรกะ
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'
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังต่อไปนี้
Today is: 2018-04-22
Before Four Days: 2018-04-18
date1: 2018-04-04
Past Date
Future Date