ผ่านมานานแค่ไหนแล้ว?
หากต้องการควบคุมผลต่างระหว่าง datetime อย่างละเอียด ให้ใช้ฟังก์ชัน base ที่ชื่อว่า difftime() ตัวอย่างเช่น แทนที่จะใช้ time1 - time2 ให้เขียนเป็น difftime(time1, time2) แทน
difftime() รับอาร์กิวเมนต์ units สำหรับระบุหน่วยของผลต่าง โดยมีตัวเลือกดังนี้: "secs", "mins", "hours", "days" หรือ "weeks"
เพื่อฝึกใช้งาน คุณจะคำนวณเวลาที่ผ่านมานับตั้งแต่มนุษย์คนแรกเหยียบดวงจันทร์ พร้อมทั้งได้รู้จักฟังก์ชัน today() และ now() ของ lubridate ซึ่งเมื่อเรียกใช้โดยไม่ระบุอาร์กิวเมนต์ จะคืนค่าวันที่และเวลาปัจจุบันตาม timezone ของระบบ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำงานกับวันที่และเวลาใน R
คำแนะนำการฝึกหัด
- ยาน Apollo 11 ลงจอดบนดวงจันทร์เมื่อวันที่ 20 กรกฎาคม 1969 ใช้
difftime()เพื่อหาจำนวนวันระหว่างtoday()กับdate_landing - Neil Armstrong เหยียบพื้นผิวดวงจันทร์เมื่อเวลา 02:56:15 UTC ใช้
difftime()เพื่อหาจำนวนวินาทีระหว่างnow()กับmoment_step
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# The date of landing and moment of step
date_landing <- mdy("July 20, 1969")
moment_step <- mdy_hms("July 20, 1969, 02:56:15", tz = "UTC")
# How many days since the first man on the moon?
difftime(___, ___, units = ___)
# How many seconds since the first man on the moon?
___