## a bare bone date for four seasons
pct4 <- Pctime(c(2020, 2), pcCycle(4))
pct4
## quarterly cycle
Pctime("2020-04-01", BuiltinCycle(4))
pctQ <- Pctime(c(2020, 2), BuiltinCycle(4)) # same
pctQ
## day-in-week cycle
## c(1, 1) is the start of the first ISO week of 1970
weekW1S1 <- Pctime(c(1, 1), BuiltinCycle(7)) # W1 Mon
weekW1S1
as_datetime(weekW1S1)
Pctime("1970-01-01", BuiltinCycle(7)) # W1 Thu
pctW1Th <- Pctime(c(1, 4), BuiltinCycle(7)) # same
pctW1Th
Pctime("2020-04-01", BuiltinCycle(7))
pctW2623Wed <- Pctime(c(2623, 3), BuiltinCycle(7)) # same
pctW2623Wed
as_datetime(pctW2623Wed)
## Monday-Friday week - a partial cycle derived from DayOfWeekCycle
BuiltinCycle(5)
pctMF <- Pctime("2020-04-03", BuiltinCycle(5)) # Fri
seq(pctMF, length.out = 10) # note: Sat, Sun are skipped
Pctime("2020-04-04", BuiltinCycle(5)) # Sat, not in the cycle
## monthly cycle
Pctime("2020-04-01", BuiltinCycle(12))
pctY2020Apr <- Pctime(c(50, 4), BuiltinCycle(12)) # same
pctY2020Apr
as_datetime(pctW2623Wed)
## Pctime can hold a vector of times
ap <- pcts(AirPassengers)
aptime <- Pctime(ap) # as_Pctime(ap)
aptime[1:12] # keep Pctime class
aptime[1]
aptime[[1]] # drop Pctime class
head(aptime)
tail(aptime)
apdates <- as_datetime(ap)
head(apdates)
tail(apdates)
Run the code above in your browser using DataLab