เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การบวกหรือลบช่วงเวลาจากวันที่และเวลา

การนำช่วงเวลามาบวกหรือลบจากจุดเวลาหนึ่งเป็นการใช้งานที่พบบ่อย ตัวอย่างเช่น หากต้องการคำนวณเวลาที่ห่างออกไปหนึ่งวันจาก mar_11 (จากแบบฝึกหัดก่อนหน้า) สามารถทำได้ทั้งสองวิธีนี้:

mar_11 + days(1)
mar_11 + ddays(1)

ลองรันในคอนโซลดู จะได้ผลลัพธ์ที่ต่างกัน แล้วแบบไหนถูกต้อง? ขึ้นอยู่กับสิ่งที่ต้องการ ถ้าต้องการคำนึงถึงความยาวที่ไม่เท่ากันของหน่วยเวลา เช่น ผลจากการปรับเวลาตามฤดูกาล (daylight saving) ให้ใช้ period days() แต่ถ้าต้องการเวลาที่ห่างออกไป 86,400 วินาทีพอดี ให้ใช้ duration ddays()

ในแบบฝึกหัดนี้ จะได้ฝึกบวกและลบช่วงเวลาจากวันที่และ datetime

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การทำงานกับวันที่และเวลาใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • วันจันทร์ที่ 27 สิงหาคม 2018 เวลาบ่าย 2 โมง และต้องการตั้งเตือนตัวเองให้ส่งอีเมลในเวลาเดียวกันของสัปดาห์หน้า ให้บวก period หนึ่งสัปดาห์เข้ากับ mon_2pm
  • วันอังคารที่ 28 สิงหาคม 2018 เวลา 9 โมงเช้า และกำลังจะรันโค้ดที่มักใช้เวลาประมาณ 81 ชั่วโมง จะเสร็จเมื่อไหร่? ให้บวก duration 81 ชั่วโมงเข้ากับ tue_9am
  • เมื่อ 5 ปีที่แล้วกำลังทำอะไรอยู่? ให้ลบ period 5 ปีออกจาก today()
  • ลบ duration 5 ปีออกจาก today() จะได้วันที่ที่ต่างออกไปหรือไม่?

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Add a period of one week to mon_2pm
mon_2pm <- dmy_hm("27 Aug 2018 14:00")
mon_2pm + ___

# Add a duration of 81 hours to tue_9am
tue_9am <- dmy_hm("28 Aug 2018 9:00")
tue_9am + ___

# Subtract a period of five years from today()
today() - ___

# Subtract a duration of five years from today()
today() - ___
แก้ไขและรันโค้ด