0.1.2 • Published 1 year ago

holiday-jp-dayjs v0.1.2

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

holiday-jp-dayjs

npm version npm license test workflow

Wrapper of @holiday-jp/holiday_jp with Day.js

1. Features

✅ Gets holidays in Japan utilizing @holiday-jp/holiday_jp
✅ Checks the given date in fixed timezone "Asia/Tokyo", independent of running environment
✅ Fixes bug of function: between
❌ Unable to load specific years only, but all the years automatically

2. Install & Usage

In HTML

<script src="https://cdn.jsdelivr.net/npm/holiday-jp-dayjs@^0.1.0/umd/min.js"></script>
<script>
    let date = new Date("2010-09-20T00:00+0900")
    console.log(holiday_jp_dayjs.isHoliday(date)); // true; 敬老の日
</script>

In Node

npm install holiday-jp-dayjs
import { between } from "holiday-jp-dayjs";

const days = between(
    new Date('2010-09-14T00:00+0900'), 
    new Date('2010-09-21T00:00+0900'),
)
console.log(days[0].name) // 敬老の日

3. Motivation

Timezone Affected

The original implementation of @holiday-jp/holiday_jp is affected by timezone. When run on an environment in timezone except "Asia/Tokyo", output may be ambiguous 😵

The following simple code runs as expected in "Asia/Tokyo". But in other timezone, for example "UTC", the result is false because its local date-time is "2021-12-31T15:00:00+0000". What we want to know is whether the given datetime is holiday is Japan, not in UTC 🤣

import { isHoliday } from "@holiday-jp/holiday_jp"

let date = new Date("2022-01-01T00:00:00+0900")
isHoliday(date) // expected true, as "New Year's Day"

Fixed Timezone

In this library, all the date values are manipulated in "Asia/Tokyo" using Day.js, which is light and modern date-operation library 👍

4. Update

This library uses data file of all the holiday provided by @holiday-jp/holiday_jp. GithubAction workflow runs periodically and checks updates of dependencies including @holiday-jp/holiday_jp.

workflow file

  1. Check update of dependencies
  2. Publish PR if any update
  3. Build & Publish to npm when PR merged
0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago