Period(
name: str,
_type: Literal["minute", "hour", "day", "week", "month", "quarter", "year"],
)
Represents a named time period for semantic datetime operations.
Provides named constants like Period.DAY, Period.MONTH, etc. for
more readable and semantic datetime arithmetic operations.
Examples:
Period.MONTH.add_to(date) # Add 1 month to date
Period.WEEK.subtract_from(date) # Subtract 1 week from date
Period.QUARTER.start_of(date) # Start of current quarter
Period.YEAR.end_of(date) # End of current year
Period.DAY.add_to(date, count=5) # Add 5 days to date
Functions
add_to
add_to(dt: Date | DateTime, *, count: int = 1) -> Date | DateTime
Add this period to a Date or DateTime.
Parameters:
| Name |
Type |
Description |
Default |
dt
|
Date | DateTime
|
The Date or DateTime to add to
|
required
|
count
|
int
|
Number of periods to add (default: 1)
|
1
|
Returns:
| Type |
Description |
Date | DateTime
|
New Date or DateTime with the period added
|
subtract_from
subtract_from(dt: Date | DateTime, *, count: int = 1) -> Date | DateTime
Subtract this period from a Date or DateTime.
Parameters:
| Name |
Type |
Description |
Default |
dt
|
Date | DateTime
|
The Date or DateTime to subtract from
|
required
|
count
|
int
|
Number of periods to subtract (default: 1)
|
1
|
Returns:
| Type |
Description |
Date | DateTime
|
New Date or DateTime with the period subtracted
|
start_of
start_of(dt: Date | DateTime) -> Date | DateTime
Get the start of this period for the given date/datetime.
Parameters:
| Name |
Type |
Description |
Default |
dt
|
Date | DateTime
|
The Date or DateTime to get the period start for
|
required
|
Returns:
| Type |
Description |
Date | DateTime
|
New Date or DateTime at the start of the period
|
end_of
end_of(dt: Date | DateTime) -> Date | DateTime
Get the end of this period for the given date/datetime.
Parameters:
| Name |
Type |
Description |
Default |
dt
|
Date | DateTime
|
The Date or DateTime to get the period end for
|
required
|
Returns:
| Type |
Description |
Date | DateTime
|
New Date or DateTime at the end of the period
|