def date(interp, date_format, timestamp=int(pytime.time())): timelib_timezone = interp.get_default_timezone("date").timelib_timezone timelib_time = timelib.timelib_time_from_timestamp(timestamp, timelib_timezone) return interp.space.wrap(timelib.date_format(date_format, timelib_time))
def gmdate(space, date_format, timestamp=int(pytime.time())): timelib_timezone = timelib.timelib_timezone('GMT') timelib_time = timelib.timelib_time_from_timestamp(timestamp, timelib_timezone) return space.wrap(timelib.date_format(date_format, timelib_time))
def idate(interp, date_format, timestamp=int(pytime.time())): space = interp.space if len(date_format) != 1: interp.space.ec.warn("idate(): idate format is one char") return interp.space.w_False timelib_timezone = interp.get_default_timezone("idate").timelib_timezone timelib_time = timelib.timelib_time_from_timestamp(timestamp, timelib_timezone) if date_format == 'B': retval = (((timelib_time.c_sse) - ((timelib_time.c_sse) - (((timelib_time.c_sse) % 86400) + 3600))) * 10) / 864 while retval < 0: retval += 1000 return space.wrap(retval % 1000) elif date_format == 'd': return space.wrap(timelib_time.c_d) elif date_format == 'h': if timelib_time.c_h % 12: return space.wrap(timelib_time.c_h % 12) else: return space.wrap(12) elif date_format == 'H': return space.wrap(timelib_time.c_h) elif date_format == 'i': return space.wrap(timelib_time.c_i) elif date_format == 'I': raise NotImplementedError() elif date_format == 'L': return space.wrap(int(timelib.is_leap(timelib_time.c_y))) elif date_format == 'm': return space.wrap(timelib_time.c_m) elif date_format == 's': return space.wrap(timelib_time.c_s) elif date_format == 't': return space.wrap( timelib.timelib_days_in_month(timelib_time.c_y, timelib_time.c_m)) elif date_format == 'U': return space.wrap(timelib_time.c_sse) elif date_format == 'w': return space.wrap( timelib.timelib_day_of_week(timelib_time.c_y, timelib_time.c_m, timelib_time.c_d)) elif date_format == 'W': return space.wrap( timelib.isoweek_from_date(timelib_time.c_y, timelib_time.c_m, timelib_time.c_d)) elif date_format == 'y': return space.wrap(timelib_time.c_y) elif date_format == 'Y': return space.wrap(timelib_time.c_y) elif date_format == 'z': return space.wrap( timelib.timelib_day_of_year(timelib_time.c_y, timelib_time.c_m, timelib_time.c_d)) elif date_format == 'Z': raise NotImplementedError() else: interp.space.ec.warn("idate(): Unrecognized date format token.") return interp.space.w_False
def idate(interp, date_format, timestamp=int(pytime.time())): space = interp.space if len(date_format) != 1: interp.space.ec.warn("idate(): idate format is one char") return interp.space.w_False timelib_timezone = interp.get_default_timezone("idate").timelib_timezone timelib_time = timelib.timelib_time_from_timestamp(timestamp, timelib_timezone) if date_format == 'B': retval = ( ((timelib_time.c_sse)-( (timelib_time.c_sse) - (((timelib_time.c_sse) % 86400) + 3600))) * 10 ) / 864 while retval < 0: retval += 1000 return space.wrap(retval % 1000) elif date_format == 'd': return space.wrap(timelib_time.c_d) elif date_format == 'h': if timelib_time.c_h % 12: return space.wrap(timelib_time.c_h % 12) else: return space.wrap(12) elif date_format == 'H': return space.wrap(timelib_time.c_h) elif date_format == 'i': return space.wrap(timelib_time.c_i) elif date_format == 'I': raise NotImplementedError() elif date_format == 'L': return space.wrap(int(timelib.is_leap(timelib_time.c_y))) elif date_format == 'm': return space.wrap(timelib_time.c_m) elif date_format == 's': return space.wrap(timelib_time.c_s) elif date_format == 't': return space.wrap( timelib.timelib_days_in_month(timelib_time.c_y, timelib_time.c_m) ) elif date_format == 'U': return space.wrap(timelib_time.c_sse) elif date_format == 'w': return space.wrap( timelib.timelib_day_of_week( timelib_time.c_y, timelib_time.c_m, timelib_time.c_d )) elif date_format == 'W': return space.wrap( timelib.isoweek_from_date( timelib_time.c_y, timelib_time.c_m, timelib_time.c_d) ) elif date_format == 'y': return space.wrap(timelib_time.c_y) elif date_format == 'Y': return space.wrap(timelib_time.c_y) elif date_format == 'z': return space.wrap( timelib.timelib_day_of_year( timelib_time.c_y, timelib_time.c_m, timelib_time.c_d )) elif date_format == 'Z': raise NotImplementedError() else: interp.space.ec.warn("idate(): Unrecognized date format token.") return interp.space.w_False