西暦→元号の変換を行うAppleScriptです。誰もがこんな感じのプログラムを作って(書き捨てて)いると思うのですが、不思議と誰も公開しないという、、、
Japanese Gengo is only for Japanese calendar. It is old-style age names in Japanese. I don’t care of it for daily use.
AppleScript名:元号変換v41 |
set a to "2019/7/21" set {aGengoStr, aGengoNum} to retJapaneseGengo(a) of JGengoKit –> {"令和", 1} script JGengoKit on retJapaneseGengo(aDate as string) set aDateObj to date aDate tell current application set aYear to year of aDateObj set aMonth to month of aDateObj as number set aDay to day of aDateObj set aStr to retZeroPaddingText(aYear, 4) of me & retZeroPaddingText(aMonth, 2) of me & retZeroPaddingText(aDay, 2) of me set aGengo to "" if aStr ≥ "20190501" then set aGengo to "令和" set aGengoNum to aYear – 2019 + 1 else if aStr ≥ "19890108" then set aGengo to "平成" set aGengoNum to aYear – 1989 + 1 else if aStr ≥ "19261225" then set aGengo to "昭和" set aGengoNum to aYear – 1926 + 1 else if aStr ≥ "19120730" then set aGengo to "大正" set aGengoNum to aYear – 1912 + 1 else if aStr ≥ "18680125" then set aGengo to "明治" set aGengoNum to aYear – 1868 + 1 end if return {aGengo, aGengoNum} end tell end retJapaneseGengo –数値にゼロパディングしたテキストを返す on retZeroPaddingText(aNum, aLen) set tText to ("0000000000" & aNum as text) set tCount to length of tText set resText to text (tCount – aLen + 1) thru tCount of tText return resText end retZeroPaddingText end script |
More from my site
(Visited 143 times, 1 visits today)
1867/1/1〜1887/12/31までの範囲のdateオブジェクトからyear, month, dayを取り出すと-1日される? – AppleScriptの穴 says:
[…] 過去のdateオブジェクトを検証する機会があり(明治の元号計算が合っていない件)、いろいろ検証していたところ、1867/1/1から1887/12/1までのdateオブジェクトからyear,month,dayを個別に取り […]
元号変換v42 – AppleScriptの穴 says:
[…] 前バージョンまでは文字列で与えられた日付をいったんdateオブジェクトに変換していました。これは、”2020/11/31″といった正しくない日付を”2020/12/1″に解釈し直すための […]