Cộng hoặc trừ một khoảng thời gian vào một datetime
Một cách dùng phổ biến của các khoảng thời gian là cộng hoặc trừ chúng với một thời điểm. Ví dụ, để tính thời điểm một ngày sau mar_11 (trong các bài trước), bạn có thể làm một trong hai cách sau:
mar_11 + days(1)
mar_11 + ddays(1)
Thử chúng trong console, bạn sẽ nhận được các kết quả khác nhau! Nhưng cách nào là đúng? Còn tùy vào mục đích của bạn. Nếu bạn muốn tính đến việc các đơn vị thời gian (trong trường hợp này là ngày) có độ dài khác nhau (ví dụ do giờ tiết kiệm ánh sáng ban ngày), bạn cần một period days(). Nếu bạn muốn thời điểm sau đúng 86400 giây, bạn dùng một duration ddays().
Trong bài này bạn sẽ cộng và trừ các khoảng thời gian khỏi date và datetime.
Bài tập này là một phần của khóa học
Làm việc với Ngày và Giờ trong R
Hướng dẫn bài tập
- Bây giờ là 2 giờ chiều Thứ Hai, 27/08/2018 và bạn muốn nhắc mình đúng giờ này tuần sau để gửi email. Hãy cộng một period một tuần vào
mon_2pm. - Bây giờ là 9 giờ sáng Thứ Ba, 28/08/2018 và bạn bắt đầu chạy một đoạn mã thường mất khoảng 81 giờ. Khi nào nó sẽ xong? Hãy cộng một duration 81 giờ vào
tue_9am. - Năm năm trước bạn đang làm gì? Hãy trừ một period 5 năm khỏi
today(). - Trừ một duration 5 năm khỏi
today(). Liệu ngày cho ra có khác không?
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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() - ___