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
58
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
34
ランドネットLT会.pdf
tabe
0
10
Tavinikkiyとかいう構想半年、開発2ヶ月みたいなプロダクトを個人開発している話
tabe
0
7
テテミート 2024.11.22
tabe
0
10
Genericsについて改めて学んでみた
tabe
0
48
Featured
See All Featured
Producing Creativity
orderedlist
PRO
347
40k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Cult of Friendly URLs
andyhume
79
6.6k
Site-Speed That Sticks
csswizardry
10
830
Faster Mobile Websites
deanohume
309
31k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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