uribo / zipangu

Japanese utility functions and data
https://uribo.github.io/zipangu
Other
56 stars 7 forks source link

Refactor convert_jyear and convert_jdate using stringi #50

Closed paithiov909 closed 2 years ago

paithiov909 commented 2 years ago

Close #49

TODO:

Changes:

require(zipangu)
#> Loading required package: zipangu

## 全角数字

convert_jyear("2020", legacy = F)
#> [1] 2020

convert_jyear("2020", legacy = T)
#> Warning: Unsupported Japanese imperial year.
#> Please include the year after 1868 or the year used since then, Meiji, Taisho, Showa, Heisei and Reiwa.
#> [1] NA

## 3桁以上の数

convert_jyear("R123456", legacy = F) ## 出せない
#> [1] NA

convert_jyear("R123456", legacy = T) ## まちがっている(令和12年が出る)
#> Warning in convert_jyear_impl1(jyear): NAs introduced by coercion
#> [1] 2030

## 漢数字

convert_jyear(c("令和九〇", "令和九十九"), legacy = F)
#> [1] 2108 2117

convert_jyear(c("令和九〇", "令和九十九"), legacy = T)
#> [1] NA NA

## 明治6年よりも前(日本で新暦が導入されるより前)

convert_jdate("文久元年8月8日", legacy = F) ## 出せるが、まちがっている。9月12日が正しい
#> [1] "1861-08-08"

convert_jdate("文久元年8月8日", legacy = T)
#> Warning: Unsupported Japanese imperial year.
#> Please include the year after 1868 or the year used since then, Meiji, Taisho, Showa, Heisei and Reiwa.
#> [1] NA

## 西暦表記を渡した場合

convert_jdate("2022.2.2", F) ## おかしい(元号を省略すると現在の元号になるため、令和2020年が出ている)
#> [1] "4040-02-02"

convert_jdate("2022.2.2", T)
#> [1] "2022-02-02"

Created on 2022-05-19 by the reprex package (v2.0.1)

uribo commented 2 years ago

@paithiov909 ご丁寧な対応ありがとうございました。マージさせていただきました!