Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GoConnect#9 2025.08.19
Search
o-ga
August 19, 2025
0
69
GoConnect#9 2025.08.19
o-ga
August 19, 2025
Tweet
Share
More Decks by o-ga
See All by o-ga
kanazawa.go 2025.07.27
tabe
0
57
ランドネットLT会.pdf
tabe
0
11
Tavinikkiyとかいう構想半年、開発2ヶ月みたいなプロダクトを個人開発している話
tabe
0
9
テテミート 2024.11.22
tabe
0
11
Genericsについて改めて学んでみた
tabe
0
49
Featured
See All Featured
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
How to build a perfect <img>
jonoalderson
1
4.9k
Deep Space Network (abreviated)
tonyrice
0
49
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Designing for humans not robots
tammielis
254
26k
Navigating Weather and Climate Data
rabernat
0
110
Git: the NoSQL Database
bkeepers
PRO
432
66k
Design in an AI World
tapps
0
140
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
380
The Curse of the Amulet
leimatthew05
1
8.7k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Transcript
Go で日付を扱いたい Go で日付を扱いたい Go で日付を扱いたい Go で日付を扱いたい Go で日付を扱いたい
Go で日付を扱いたい Go で日付を扱いたい Go で日付を扱いたい Go で日付を扱いたい Go で日付を扱いたい Go Connect LT 2025年8月19日 1
自己紹介 自己紹介 自己紹介 自己紹介 自己紹介 自己紹介 自己紹介 自己紹介 自己紹介 自己紹介
名前: オーガ 職業: バックエンドエンジニア 好きな言語: Go, TypeScript 趣味: ハイキュー!!オタク、ライブに行く、日本酒、Go を書く 推し: 山本彩、福山梨乃 Twitter: @o_ga09 GitHub: @o-ga09 2
今日話すこと 今日話すこと 今日話すこと 今日話すこと 今日話すこと 今日話すこと 今日話すこと 今日話すこと 今日話すこと 今日話すこと
Go で1ヶ月後の計算どうしよ? 標準パッケージの挙動 上手いことやってくれるライブラリはあるか? で、結局どうしたか? まとめ 3
Go で1ヶ月後の計算どうしよ? Go で1ヶ月後の計算どうしよ? Go で1ヶ月後の計算どうしよ? Go で1ヶ月後の計算どうしよ? Go で1ヶ月後の計算どうしよ?
Go で1ヶ月後の計算どうしよ? Go で1ヶ月後の計算どうしよ? Go で1ヶ月後の計算どうしよ? Go で1ヶ月後の計算どうしよ? Go で1ヶ月後の計算どうしよ? ん?これバグりそうとなったのは、 契約関係で1ヶ月後を自動計算して返す API 普通に time.AddDate していた 月末を考慮されていなくね? 4
標準パッケージの挙動 標準パッケージの挙動 標準パッケージの挙動 標準パッケージの挙動 標準パッケージの挙動 標準パッケージの挙動 標準パッケージの挙動 標準パッケージの挙動 標準パッケージの挙動 標準パッケージの挙動
time.AddDate の N ヶ月後を算出する際の挙動 例:元の日付:2025/8/19 → 1 ヶ月後 → 2025/9/19 OK 例:元の日付:2025/8/31 → 1 ヶ月後 → 2025/10/01 おっ? 9 月に 31 日はない! 2025/9/30 が欲しいなぁ〜 このように Go の標準パッケージの time パッケージは、自然なカレンダーの挙 動に従う! 参考:func (Time) AddDate 5
上手いことやってくれるライブラリはある 上手いことやってくれるライブラリはある 上手いことやってくれるライブラリはある 上手いことやってくれるライブラリはある 上手いことやってくれるライブラリはある 上手いことやってくれるライブラリはある 上手いことやってくれるライブラリはある 上手いことやってくれるライブラリはある 上手いことやってくれるライブラリはある 上手いことやってくれるライブラリはある
か? か? か? か? か? か? か? か? か? か? jinzhu/now kokardy/jpholiday hardfinhq/go-date 6
jinzhu/now jinzhu/now jinzhu/now jinzhu/now jinzhu/now jinzhu/now jinzhu/now jinzhu/now jinzhu/now jinzhu/now
現在時刻から前か後か、月末か月初か、N ヶ月後はいつかのように現在時刻(now)を基 準になっている うーーん、微妙に使い心地が悪いかも? 7
kokardy/jpholiday kokardy/jpholiday kokardy/jpholiday kokardy/jpholiday kokardy/jpholiday kokardy/jpholiday kokardy/jpholiday kokardy/jpholiday kokardy/jpholiday kokardy/jpholiday
祝日特化ライブラリ これはこれで便利そうなライブラリ見つけた うーーん、違うだろ!!! 8
hardfinhq/go-date hardfinhq/go-date hardfinhq/go-date hardfinhq/go-date hardfinhq/go-date hardfinhq/go-date hardfinhq/go-date hardfinhq/go-date hardfinhq/go-date hardfinhq/go-date
なんか、いい感じ! 使いたい!!! ・・・time パッケージのラッパーか? 9
・・・あるといえば、あるがどれも、用途が違うかも・・・ 10
で、結局どうしたか? で、結局どうしたか? で、結局どうしたか? で、結局どうしたか? で、結局どうしたか? で、結局どうしたか? で、結局どうしたか? で、結局どうしたか? で、結局どうしたか? で、結局どうしたか?
愚直に自前実装!!! 11
まとめ まとめ まとめ まとめ まとめ まとめ まとめ まとめ まとめ まとめ
なんか、js の date-fns 的なのを期待してたのになかった・・・ (ピエン) なんか、調べてたら、気をつけろ的な記事がいっぱいだった 結局、pkg 配下に自前実装になってしまった 契約とか請求関係で API 実装したことある方いれば、どうしたか教えてください!!! 12
Go 清聴ありがとうございました Go 清聴ありがとうございました Go 清聴ありがとうございました Go 清聴ありがとうございました Go 清聴ありがとうございました
Go 清聴ありがとうございました Go 清聴ありがとうございました Go 清聴ありがとうございました Go 清聴ありがとうございました Go 清聴ありがとうございました 13