Last possible date in a time period.
Syntax: @dateceil(d, u[, step])
d: date number
u: time unit string
step: (optional) integer
Return: date number
Finds the last possible date number associated with d in the regular frequency defined by the given time unit u and optional step integer step. The regular frequency is defined relative to the basedate of midnight, January 2001.
• The valid time unit string values are: “A” or “Y” (annual), “S” (semi-annual), “Q” (quarters), “MM” (months), “WW” (weeks), “DD” (days), “B” (business days), “HH” (hours), “MI” (minutes), “SS” (seconds).
• If step is omitted, the frequency will use a step of 1, so that by default, @dateceil will find the end of the period defined by the time unit.
Examples
Suppose that d is 730110.8 (7 PM, December 23, 1999).
Then the command
@dateceil(730110.8, "dd")
gives the last date number associated with the end of December 23, 1999, yielding 730110.999 (11:59:59.999... PM, December 23, 1999).
Similarly, the command,
@dateceil(730110.8, "mm")
gives the date number associated with the end of month of December 1999 (11:59:59.999... PM, December 31, 1999) giving 730118.999.
The commands
@dateceil(730110.8, "hh", 3)
@dateceil(730110.8, "hh", 6)
return 730110.874999 (8:59:59.999... PM, December 23, 1999), and 730110.999 (11:59:59.999... PM, December 23, 1999), which are the last date numbers for 3 and 6 hour regular frequencies anchored at midnight, January 1, 2001.
If DSER is a series containing date numbers,
series dser1 = @dateceil(dser, "mm")
gives the date number of the end of the month for each observation in DSER in the workfile sample. You may use “@date” in place of DSER to obtain results using the built-in dates in the workfile structure.
If DVEC is a vector containing date numbers,
vector avec = @dateceil(dvec, "y")
gives the last date number in the year for each element of the vector.
Cross-references
See
“Dates” and
“Date Formats”for additional details on date numbers and date format strings.