Package logilab :: Package common :: Module date
[frames] | no frames]

Module date

source code

Date manipulation helper functions.
Functions
 
get_step(dateobj, nbdays=1) source code
 
datefactory(year, month, day, sampledate) source code
 
weekday(dateobj) source code
 
str2date(datestr, sampledate) source code
 
days_between(start, end) source code
 
get_national_holidays(begin, end)
return french national days off between begin and end
source code
 
add_days_worked(start, days)
adds date but try to only take days worked into account
source code
 
nb_open_days(start, end) source code
 
date_range(begin, end, incday=None, incmonth=None)
yields each date between begin and end
source code
 
strptime(value, format) source code
 
strptime_time(value, format='%H:%M') source code
 
todate(somedate)
return a date from a date (leaving unchanged) or a datetime
source code
 
totime(somedate)
return a time from a time (leaving unchanged), date or datetime
source code
 
todatetime(somedate)
return a date from a date (leaving unchanged) or a datetime
source code
 
datetime2ticks(somedate) source code
 
ticks2datetime(ticks) source code
 
days_in_month(somedate) source code
 
days_in_year(somedate) source code
 
previous_month(somedate, nbmonth=1) source code
 
next_month(somedate, nbmonth=1) source code
 
first_day(somedate) source code
 
last_day(somedate) source code
 
ustrftime(somedate, fmt='%Y-%m-%d')
like strftime, but returns a unicode string instead of an encoded string which may be problematic with localized date.
source code
 
utcdatetime(dt) source code
 
utctime(dt) source code
 
datetime_to_seconds(date)
return the number of seconds since the begining of the day for that date
source code
 
timedelta_to_days(delta)
return the time delta as a number of seconds
source code
 
timedelta_to_seconds(delta)
return the time delta as a fraction of days
source code
Variables
  DateTimeType = datetime
  endOfMonth = RelativeDateTime(months= 1, day=-1)
  FRENCH_FIXED_HOLIDAYS = {'jour_an': '%s-01-01', 'fete_travail'...
  FRENCH_MOBILE_HOLIDAYS = {'paques2004': '2004-04-12', 'ascensi...
  ONEDAY = timedelta(days= 1)
  ONEWEEK = timedelta(days= 7)
Function Details

date_range(begin, end, incday=None, incmonth=None)

source code 

yields each date between begin and end

When using mx datetime, you should NOT use incmonth argument, use instead oneDay, oneHour, oneMinute, oneSecond, oneWeek or endOfMonth (to enumerate months) as incday argument

Parameters:
  • begin - the start date
  • end - the end date
  • incr - the step to use to iterate over dates. Default is one day.
  • include - None (means no exclusion) or a function taking a date as parameter, and returning True if the date should be included.

Variables Details

FRENCH_FIXED_HOLIDAYS

Value:
{'jour_an': '%s-01-01', 'fete_travail': '%s-05-01', 'armistice1945': '\
%s-05-08', 'fete_nat': '%s-07-14', 'assomption': '%s-08-15', 'toussain\
t': '%s-11-01', 'armistice1918': '%s-11-11', 'noel': '%s-12-25',}

FRENCH_MOBILE_HOLIDAYS

Value:
{'paques2004': '2004-04-12', 'ascension2004': '2004-05-20', 'pentecote\
2004': '2004-05-31', 'paques2005': '2005-03-28', 'ascension2005': '200\
5-05-05', 'pentecote2005': '2005-05-16', 'paques2006': '2006-04-17', '\
ascension2006': '2006-05-25', 'pentecote2006': '2006-06-05', 'paques20\
07': '2007-04-09', 'ascension2007': '2007-05-17', 'pentecote2007': '20\
07-05-28', 'paques2008': '2008-03-24', 'ascension2008': '2008-05-01', \
'pentecote2008': '2008-05-12', 'paques2009': '2009-04-13', 'ascension2\
009': '2009-05-21', 'pentecote2009': '2009-06-01', 'paques2010': '2010\
...