dmit.datetools module
Module for manipulating dates
- dmit.datetools.add_month(date=None)[source]
Add one month to date
- Parameters
date (datetime.datetime object) – Date to add one month to.
- Returns
candidate – Candidate date with one month added
- Return type
datetime.datetime object
- dmit.datetools.count_days(date1=None, date2=None, includeEnd=False)[source]
Count the days between two dates
- Parameters
date1 (datetime.datetime object) – Date 1
date2 (datetime.datetime object) – Date 2
includeEnd (boolean) – Whether to include the last day itself. Defaults to False.
- Returns
days – Days between two dates.
- Return type
integer
- dmit.datetools.current_run_datetime(frequency: int = 180, delay: int = 120, roundto: str = 'hour', now: Optional[datetime.datetime] = None) datetime.datetime[source]
Get the time of the current valid analysis
- Parameters
frequency (integer (optional)) – Frequency of analysis in minutes. Defaults to 180 minutes (3 hours).
delay (integer (optional)) – Delay in minutes between now and when analysis becomes available. Defaults to 120 minutes (2 hours)
roundto (string (optional)) – What to round to: Available is “hour”, “minute”. Defaults to “hour”
now (datetime object (optional)) – Current time to get run for. Defaults to now.
- Returns
nowrounded – Time for the latest current valid analysis
- Return type
datetime.datetime object
- dmit.datetools.month_delta(d1: datetime.datetime, d2: datetime.datetime) int[source]
Find the difference between dates in months
- Parameters
d1 (datetime.datetime object) – Date 1
d2 (datetime.datime object) – Date 2
- Returns
delta – Difference between dates in months
- Return type
integer
- dmit.datetools.per_delta(start: datetime.datetime, end: datetime.datetime, delta: datetime.timedelta)[source]
Generate a list of datetimes within an interval
- Parameters
start (datetime.datetime object) – Starting date
end (datetime.datetime object) – End date
delta (datetime.timedelta object) – Increment in time, e.g. 1 hour would be datetime.timedelta(hours=1)
- dmit.datetools.round_time(dt: Optional[datetime.datetime] = None, roundTo: datetime.timedelta = datetime.timedelta(seconds=60), roundType: str = 'nearest') datetime.datetime[source]
Round a time to a nearest common format
- Parameters
dt (datetime.datetime object) – Datetime one wish to round
roundTo (datetime.timedelta object (optional)) – What to round to. Defaults to datetime.timedelta(minutes=1).
roundType (str) – How to round. ‘nearest’, ‘roundup’, ‘rounddown’
- Returns
dt_rounded – Rounded datetime
- Return type
datetime.datetime object