今日はいつ? — goark/today v0.1.0 をリリース

no extension

いまだにお役所関連の書類(の一部)は元号での記載を要求してくる。 ほんで「今日って令和何年だっけ?」ってなる。 今年ももう9月になるというのに和暦が覚えられないよ。

大抵は西暦-和暦変換表をググって確認するのだが,今回はちょっとキれた(笑)

やってらんねー!!!

というわけでコマンドで today って打ったら今日の日付を西暦と和暦で表示するようにした。

thumbs
GitHub - goark/today: Show information for today
Show information for today. Contribute to goark/today development by creating an account on GitHub.
 

Powered by linkcard

Go 製シングルバイナリのコマンドラインツールで Linux/Windows/macOS 用のビルド済みバイナリを用意している。

バイナリを PATH が通ってるディレクトリに放り込んで,こんな感じに使う。

$ today
2026-09-09 Wednesday
令和8年 (丙午) 9月9日 水曜日 (丙戌)

引数で日付を指定することもできる。

$ today 2019-04-30
2019-04-30 Tuesday
平成31年 (己亥) 4月30日 火曜日 (丁酉)

$ today 2019-05-01
2019-05-01 Wednesday
令和1年 (己亥) 5月1日 水曜日 (戊戌)

オプションはこんな感じ。

$ today --help
Usage of today

Usage:
  today [flags] [yyyy-mm-dd]

Flags:
  -a, --all-events          show all events information
      --debug               enable debug mode
      --event-file string   path to the event file (default "/home/username/.config/today/event.json")
  -h, --holiday             show holiday information
  -j, --json                output information in JSON format
  -e, --other-events        show other events information
  -s, --solar-term          show solar term information
      --temp-dir string     path to the temporary directory (default "/home/username/.cache/today")
  -v, --version             show version information

たとえば,以下のように -h オプションを付けて祝日を表示する。

$ today -h 2026-09-23
2026-09-23 Wednesday
令和8年 (丙午) 9月23日 水曜日 (庚子)
秋分の日

他のオプションは以下の通り1

意味
-h, --holiday 祝日・休日を表示
-s, --solar-term 二十四節気+雑節および朔望月を表示
-e, --other-events その他のイベント情報を表示(イベントファイルで定義)
-a, --all-events すべてのイベント情報を表示

イベントファイルは --event-file で指定できる(指定がない場合はデフォルトのファイルを開こうとする)。 イベントファイルが見つからない場合はイベント情報がないものと見なす。

たとえばイベントファイルの中身が

[
  {
    "start": "2026-09-25",
    "end": "2026-09-25",
    "title": "中秋の名月"
  }
]

であれば

$ today -e 2026-09-25
2026-09-25 Friday
令和8年 (丙午) 9月25日 金曜日 (壬寅)
中秋の名月

という感じに表示される。

んー。 作ったはいいけど,あまり使わんか? でもイベントファイルは色々と使い道がありそう? そういえば CSV や JSON などのテキストデータを SQL で操作するパッケージがあったな。

面白そうだし,ちょっと検討してみようかな。

今回もあまり AI のお世話にならず(初期ファイルの配置とレビューとドキュメントは AI にやってもらった)楽しくコードを書いて遊んだ。 ちょっとは気が済んだかな(笑)

参考

thumbs
プログラミング言語Go - 丸善出版 理工・医学・人文社会科学の専門書出版社
明解で効率的なプログラムを描くための書。 柴田 芳樹 訳
 
Release 2016-06-15
評価     

[Comment] 著者のひとりは,あの “K&R” の K のほうである。この本は Go 言語の教科書と言ってもいいだろう。と思ったら絶版状態らしい(2025-01 現在)。復刊を望む!

Powered by linkcard

photo
Go言語 100Tips ありがちなミスを把握し、実装を最適化する impress top gearシリーズ
Teiva Harsanyi (著), 柴田 芳樹 (著)
インプレス 2023-08-18 (Release 2023-08-18)
Kindle版
B0CFL1DK8Q (ASIN)
評価     

[Comment] 版元で PDF 版を購入可能。事実上の Effective Go とも言える充実の内容。オリジナルは敢えてタイトルに “tips” という単語を入れるのを避けたのに邦題が「100 Tips」とかなっていて,原作者がお怒りとの噂(あくまで噂)

reviewed by Spiegel on 2023-08-18 (powered by PA-APIv5)

photo
Go言語で学ぶ並行プログラミング 他言語にも適用できる原則とベストプラクティス impress top gearシリーズ
James Cutajar (著), 柴田 芳樹 (著)
インプレス 2024-12-04 (Release 2024-12-04)
Kindle版
B0DNYMMBBQ (ASIN)
評価     

[Comment] 読書会のために購入。インプレス社の本は Kindle 版より版元で PDF 版を買うのがオススメ。「並行処理」について原理的な解説から丁寧に書かれている。 Go で解説されているが Go 以外の言語でも応用できる。

reviewed by Spiegel on 2025-01-25 (powered by PA-APIv5)


  1. 祝日・休日,二十四節気+雑節,朔望月の情報は国立天文台のデータから取得している。 ↩︎