Date values support arithmetic. Adding an integer to a Date moves it forward by that many days.

Program

Play the script to choose the offset and watch the due date update.

date_offsets.R
start <- as.Date("2026-01-15")
offset_days <- 
due <- start + offset_days
elapsed <- as.integer(due - start)
label <- paste(format(due, "%Y-%m-%d"), elapsed, sep = ":")
cat(label, "\n", sep = "")
start <- as.Date("2026-01-15")
offset_days <- 
due <- start + offset_days
elapsed <- as.integer(due - start)
label <- paste(format(due, "%Y-%m-%d"), elapsed, sep = ":")
cat(label, "\n", sep = "")
start <- as.Date("2026-01-15")
offset_days <- 
due <- start + offset_days
elapsed <- as.integer(due - start)
label <- paste(format(due, "%Y-%m-%d"), elapsed, sep = ":")
cat(label, "\n", sep = "")
Date `as.Date("2026-01-15")` creates a calendar date value.
date arithmetic `start + offset_days` moves forward by whole days.
difftime `due - start` computes the elapsed interval between dates.