Ejemplo n.º 1
0
def next_bday(day=None, n=1):
    """Returns the next business day after argument day.
    """
    if day is None:
        day = dt.date.today()
    calendar = jpd.JapaneseHolidayCalendar()
    cday = pd.offsets.CDay(n=n, calendar=calendar)
    return pd.to_datetime(day) + cday
Ejemplo n.º 2
0
    def test_jpholiday_holidays(self):
        calendar = jpd.JapaneseHolidayCalendar()
        holidays = calendar.holidays()
        for y in range(1970, 2030):
            for m, d in [(1, 1)]:
                dt = datetime.date(y, m, d)
                self.assertTrue(dt in holidays)

        for e in self.expected:
            self.assertTrue(dt in holidays)
Ejemplo n.º 3
0
    def test_heisei_emperor_abdication_holiday(self):

        for calendar in [jpd.TSEHolidayCalendar(),
                         jpd.JapaneseHolidayCalendar()]:
            holidays = calendar.holidays()

            self.assertTrue(datetime.datetime(2018, 12, 23) in holidays)
            self.assertFalse(datetime.datetime(2019, 12, 23) in holidays)

            self.assertFalse(datetime.datetime(2019, 2, 23) in holidays)
            self.assertTrue(datetime.datetime(2020, 2, 23) in holidays)
Ejemplo n.º 4
0
    def test_holiday_bug(self):
        # GH 42

        for calendar in [jpd.TSEHolidayCalendar(),
                         jpd.JapaneseHolidayCalendar()]:
            holidays = calendar.holidays()

            self.assertFalse(datetime.datetime(1993, 9, 5) in holidays)
            self.assertTrue(datetime.datetime(1993, 9, 15) in holidays)

            self.assertFalse(datetime.datetime(2020, 8, 12) in holidays)
            self.assertTrue(datetime.datetime(2020, 8, 11) in holidays)
Ejemplo n.º 5
0
    def test_calendar(self):

        calendar = jpd.JapaneseHolidayCalendar()
        holidays_0 = calendar.holidays(self.start_date, self.end_date)

        holidays_1 = calendar.holidays(self.start_date.strftime('%Y-%m-%d'),
                                       self.end_date.strftime('%Y-%m-%d'))
        holidays_2 = calendar.holidays(pd.Timestamp(self.start_date),
                                       pd.Timestamp(self.end_date))

        self.assertEqual(holidays_0.to_pydatetime().tolist(), self.expected)
        self.assertEqual(holidays_1.to_pydatetime().tolist(), self.expected)
        self.assertEqual(holidays_2.to_pydatetime().tolist(), self.expected)
Ejemplo n.º 6
0
    def test_holiday_bug(self):
        # GH 42

        for calendar in [jpd.TSEHolidayCalendar(),
                         jpd.JapaneseHolidayCalendar()]:
            holidays = calendar.holidays()

            self.assertFalse(datetime.datetime(1993, 9, 5) in holidays)
            self.assertTrue(datetime.datetime(1993, 9, 15) in holidays)

            self.assertFalse(datetime.datetime(2020, 8, 12) in holidays)
            # http://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html#tokurei
            self.assertFalse(datetime.datetime(2020, 8, 11) in holidays)
Ejemplo n.º 7
0
    def test_tokurei(self):
        # http://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html#tokurei

        for calendar in [jpd.TSEHolidayCalendar(),
                         jpd.JapaneseHolidayCalendar()]:
            holidays = calendar.holidays()

            # 海の日
            self.assertTrue(datetime.datetime(2020, 7, 23) in holidays)
            self.assertFalse(datetime.datetime(2020, 7, 20) in holidays)
            self.assertTrue(datetime.datetime(2021, 7, 19) in holidays)

            # 山の日
            self.assertTrue(datetime.datetime(2020, 8, 10) in holidays)
            self.assertFalse(datetime.datetime(2020, 8, 11) in holidays)
            self.assertTrue(datetime.datetime(2021, 8, 11) in holidays)

            # スポーツの日
            self.assertTrue(datetime.datetime(2020, 7, 24) in holidays)
            self.assertFalse(datetime.datetime(2020, 10, 12) in holidays)
            self.assertTrue(datetime.datetime(2021, 10, 11) in holidays)
Ejemplo n.º 8
0
    def test_new_era(self):

        for calendar in [
                jpd.TSEHolidayCalendar(),
                jpd.JapaneseHolidayCalendar()
        ]:
            holidays = calendar.holidays()

            self.assertFalse(datetime.datetime(2019, 4, 26) in holidays)
            self.assertFalse(datetime.datetime(2019, 4, 27) in holidays)
            self.assertFalse(datetime.datetime(2019, 4, 28) in holidays)
            self.assertTrue(datetime.datetime(2019, 4, 29) in holidays)
            self.assertTrue(datetime.datetime(2019, 4, 30) in holidays)
            self.assertTrue(datetime.datetime(2019, 5, 1) in holidays)
            self.assertTrue(datetime.datetime(2019, 5, 2) in holidays)
            self.assertTrue(datetime.datetime(2019, 5, 3) in holidays)
            self.assertTrue(datetime.datetime(2019, 5, 4) in holidays)
            self.assertTrue(datetime.datetime(2019, 5, 5) in holidays)
            self.assertTrue(datetime.datetime(2019, 5, 6) in holidays)
            self.assertFalse(datetime.datetime(2019, 5, 7) in holidays)
            self.assertFalse(datetime.datetime(2019, 12, 23) in holidays)
Ejemplo n.º 9
0
    def test_cday(self):
        calendar = jpd.JapaneseHolidayCalendar()
        cday = pd.offsets.CDay(calendar=calendar)

        dt = datetime.datetime(2014, 1, 12)
        tm.assert_equal(dt - cday, datetime.datetime(2014, 1, 10))
        tm.assert_equal(dt + cday, datetime.datetime(2014, 1, 14))

        dt = datetime.datetime(2014, 1, 10)
        tm.assert_equal(dt - cday, datetime.datetime(2014, 1, 9))
        tm.assert_equal(dt + cday, datetime.datetime(2014, 1, 14))

        dt = datetime.datetime(2014, 4, 28)
        tm.assert_equal(dt - cday, datetime.datetime(2014, 4, 25))
        tm.assert_equal(dt + cday, datetime.datetime(2014, 4, 30))

        dt = datetime.datetime(2014, 5, 3)
        tm.assert_equal(dt - cday, datetime.datetime(2014, 5, 2))
        tm.assert_equal(dt + cday, datetime.datetime(2014, 5, 7))

        dt = datetime.datetime(2014, 5, 6)
        tm.assert_equal(dt - cday, datetime.datetime(2014, 5, 2))
        tm.assert_equal(dt + cday, datetime.datetime(2014, 5, 7))
Ejemplo n.º 10
0
 def test_holiday_attributes(self):
     calendar = jpd.JapaneseHolidayCalendar()
     tm.assert_equal(calendar.rules[0].name, '元日')
     tm.assert_equal(calendar.rules[0].year, 1970)
     tm.assert_equal(calendar.rules[0].month, 1)
     tm.assert_equal(calendar.rules[0].day, 1)
Ejemplo n.º 11
0
import japandas as jpd
for d in jpd.JapaneseHolidayCalendar().holidays():
    print(d.strftime('%Y-%m-%d'))