我们从Python开源项目中,提取了以下6个代码示例,用于说明如何使用dateutil.relativedelta.FR。
def testRRuleAll(self): from dateutil.rrule import rrule from dateutil.rrule import rruleset from dateutil.rrule import rrulestr from dateutil.rrule import YEARLY, MONTHLY, WEEKLY, DAILY from dateutil.rrule import HOURLY, MINUTELY, SECONDLY from dateutil.rrule import MO, TU, WE, TH, FR, SA, SU rr_all = (rrule, rruleset, rrulestr, YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY, MO, TU, WE, TH, FR, SA, SU) for var in rr_all: self.assertIsNot(var, None) # In the public interface but not in all from dateutil.rrule import weekday self.assertIsNot(weekday, None)
def parse(raw_date): weekday = { 'monday': MO(-1), 'tuesday': TU(-1), 'wednesday': WE(-1), 'thursday': TH(-1), 'friday': FR(-1), 'saturday': SA(-1), 'sunday': SU(-1), } if raw_date == 'today': date = datetime.now().date() elif raw_date == 'yesterday': date = datetime.now().date() - relativedelta(days=1) elif raw_date in weekday: date = datetime.now().date() + relativedelta(weekday=weekday[raw_date]) elif re.match('\d{4}-w\d{2}', raw_date) is not None: fromDate = datetime.strptime(raw_date + '-1', "%Y-W%W-%w").date() toDate = fromDate + relativedelta(days=7) return fromDate, toDate else: date = datetime.strptime(raw_date, '%Y-%m-%d') toDate = date + relativedelta(days=1) return date, toDate
def contract_expiry_from_symbol(symbol): expiry = None symbol, asset_class = symbol.split("_") if asset_class == "FUT": expiry = str(symbol)[-5:] y = int(expiry[-4:]) m = dataTypes["MONTH_CODES"].index(expiry[:1]) day = datetime(y, m, 1) expiry = day + relativedelta.relativedelta(weeks=2, weekday=relativedelta.FR) expiry = expiry.strftime("%Y-%m-%d") elif asset_class in ("OPT", "FOP"): expiry = str(symbol)[-17:-9] expiry = expiry[:4] + "-" + expiry[4:6] + "-" + expiry[6:] return expiry # ---------------------------------------------
def testRelativeDeltaAll(self): from dateutil.relativedelta import relativedelta from dateutil.relativedelta import MO, TU, WE, TH, FR, SA, SU for var in (relativedelta, MO, TU, WE, TH, FR, SA, SU): self.assertIsNot(var, None) # In the public interface but not in all from dateutil.relativedelta import weekday self.assertIsNot(weekday, None)
def _day_range(self, days): now = datetime.date.today() wdays = [MO, TU, WE, TH, FR, SA, SU] result = [] for day in days.split(','): wday = wdays[int(day)] # add next weekday occurence day = now + dateutil.relativedelta.relativedelta(weekday=wday) result.append(day.strftime("%d")) # safety add-on if weekday equals todays weekday day = now + dateutil.relativedelta.relativedelta(weekday=wday(+2)) result.append(day.strftime("%d")) return result
def split_by_week(competitions): dt = (dtutil.now(dtutil.WOTC_TZ) + relativedelta(weekday=FR(-1))).replace(hour=0, minute=0, second=0) weeks = [] while True: week = Container() week.start_date = dt week.end_date = dt + datetime.timedelta(weeks=1) week.competitions = [] while len(competitions) > 0 and competitions[0].start_date > dt: week.competitions = week.competitions + [competitions.pop(0)] weeks.append(week) dt = dt - datetime.timedelta(weeks=1) if len(competitions) == 0: break return weeks