jcalendaR

English version of README is not available for now.

jcalendaRはRで和暦と旧暦、西暦(ユリウス暦、(先発)グレゴリウス暦)の年月日を相互変換を行うためのパッケージです。

機能

Installation

リリース版はCRANからインストールできます。

install.package("jcalendaR")

開発版はGithubからインストールできます。

remotes::install_github("indenkun/jcalendaR")

Example

library(jcalendaR)

和暦と西暦

wareki2seireki("令和3年1月1日")
#> [1] "2021/1/1"
seireki2wareki("2021/1/1")
#> [1] "令和3年1月1日"
wareki2seireki("天正6年3月13日", calendar = "julian")
#> [1] "1578/4/19"
seireki2wareki("1578/4/18")
#> [1] "天正6年3月2日"

旧暦と西暦

kyureki2seireki("令和3年1月1日")
#> [1] "2021/2/12"
seireki2kyureki("2021/1/1")
#> [1] "令和2年11月18日"

和暦と旧暦

wareki2kyureki("令和3年1月1日")
#> [1] "令和2年11月18日"
kyureki2wareki("令和2年11月18日")
#> [1] "令和3年1月1日"

utils

旧暦の指定した年に閏月があるかどうか、理論型か閏月の値で答えます。

指定する年の値は年号と数字で構成される必要があります。数字の後ろに年がついているかどうかは問いません。

existence_leap.month("明治2")
#> [1] FALSE
existence_leap.month("明治2", existence = "number")
#> [1] NA
existence_leap.month("明治3年", existence = "logical")
#> [1] TRUE
existence_leap.month("明治3年", existence = "number")
#> [1] 10

旧暦の指定した年の指定した月が何日あるか。閏月を指定した場合、その年に閏月がないならその旨を警告文で出します。

指定する年の値は年号と数字で構成される必要があります。数字の後ろに年がついているかどうかは問いません。

また、指定する月は数値または文字列で、文字列の場合に数字の後ろに月がついているかどうかは問いません。

number_kyureki.month("明治2", 1)
#> [1] 30
number_kyureki.month("明治2年", "閏1")
#> Warning: There are no leap months in that year.
#> [1] NA
number_kyureki.month("明治3", "閏10月")
#> [1] 29

ユリウス通日と西暦

jdn2calendar(2459216)
#> [1] "2021/1/1"
calendar2jdn("2021/1/1")
#> [1] 2459216

警告文が出力されるパターン

seireki2wareki("1/1/1")
#> Warning: Entered a date older than the supported period.
#> [1] NA
wareki2seireki("天保2年2月30日")
#> Warning: The number of days entered does not exist for the month.
#> [1] NA
wareki2seireki("0年1月1日", era = "non")
#> Warning: Entered a date older than the supported period.
#> [1] NA
kyureki2seireki("2101年1月1日", era = "non") 
#> Warning: Entered a date that is farther in the future than the supported dates.
#> [1] NA

参照

ユリウス通日の計算にはユリウス通日 - Wikipediaの式を用いています。

参照元データ

グレゴリウス暦と旧暦の対照表、元号について以下のデータを参照しました。

Known Issues and Future Tasks

License

MIT