はてなキーワード: 行書とは
言語によっては標準的に月末日を取得できる関数が用意されている
用意されてない場合もそこそこあるし
サードパーティー的なライブラリだとライセンスなどメンテナンス含めて面倒になるので避けることも多い
そもそも仕様を「月末日」などという不確定なものにせずに28日にしてもらう
ちゃんと仕様を決める部門と連携が取れていれば多くの場合で28日にしてくれるし
「28日支払い」が多いのもこのためだと思ってる
割とよくある実装がこの「次の月初めから1日(1秒)引く」という実装
2024年2月の月末日を取得する場合は2024年3月1日のUNIX時間から24*60*60秒を引いて計算する
ただし、実装を間違えると12月31日のときに失敗するので注意が必要
各月の月末日をマップとして保持しておいて取得させる
関数実装するなら if(month==1) return 31 とかを12行書けば実装できる
自分で実装する場合はプログラミングの教科書にあるぐらい有名なのでコピペでもChatGPTでも使えば良い
ただ仕様をそのまま実装せずに「4で割り切れたら閏年」でも問題無い(やったことはないが)
「それだと2100年でバグる!」
ちなみに過去の日付であっても2000年はバグらない(そのための400年処理だし)ため
https://x.com/chloe21e8/status/1649439431571693569?s=20
その少女はクレオといい、Math Stackexchangeという数学質問サイトで回答者として活動していた
クレオはとんでもなく複雑な数式をいとも簡単に解いてしまうのだが、どういうわけか彼女が回答するたびに質問サイトは「阿鼻叫喚」に包まれてしまう
というのも、彼女は数式の解を一行書き記すだけで、どうすればその解が求まるのかを一切説明せずに去ってしまうからだ
他のユーザーたちは「これは回答として適切ではない」「いや別にいいだろ」などと喧嘩を始めたり、本当にその解が正しいのかどうか何日も議論が紛糾する
そしていつも最後には、クレオの回答が正しいことが判明するのである
例えばある時、次の極めて複雑な積分の解に関する質問が投稿された
I=∫[−1→1] (1/x)√((1+x)/(1−x)) ln((2x²+2x+1)/(2x²−2x+1)) dx
一番最初についたコメントは、「そもそも解が存在する」こと自体を疑うものだった
そこに書かれていたのは、
I=4πarccot√ϕ
という一行の数式のみ
積分の解としてはあまりに奇妙な数式であり、どう考えても適当にでっちあげた数式にしか見えない
ただし、「3日後」に。
以下のリンクを踏めば、他のユーザーが投稿した、何十行にもわたる複雑な証明を見ることができる
この他にも、クレオは数多くの複雑な数式の質問に答え続け、その度に一行だけ数式を残して去っていく
その度にユーザーたちは「こんな回答は何の価値もない」「こんなものは数学ではない」などと吹き上がるのだが、
中には「すげえ!またクレオがやったぞ」などと彼女を称賛するユーザーもいる