タグ

日付とJavaScriptに関するmohnoのブックマーク (3)

  • うるう日にしか発生しないバグ

    昨日うるう日にしか発生しないバグに遭遇した。Javascriptを書く人には有名な話だとは思うので大して面白くはないかもしれないが一応メモ。 詳しくは書けないがバグが発生した関数の仕様としてはざっくりと下記のような感じ。 対象の年月日が基準日の1年前から1年後の間に含まれる場合はtrueを返しそうでない場合はfalseを返す 引数として2020-12-24というフォーマットの文字列が渡される(判定対象の日) 引数として2021-01-01というフォーマットの文字列が渡される(+-1年の基準日) Javascriptで書く (例) 対象の日: 2024/10/10 基準日: 2024/01/28 この時、trueになる範囲は2023/01/28 ~ 2025/01/28。なので2024/10/10はtrue。2023/01/28も2025/01/28もtrueになる。閉区間。 とあるコードの

    うるう日にしか発生しないバグ
    mohno
    mohno 2024/03/02
    「一方でうるう日に実行すると以下のようになる」←日付が関係する処理があるならうるう日のテストは必須だと思うけど、実行環境をうるう日にしないと再現しないバグは見つけにくいだろうか。
  • ホームページ- EY-Office

    小ネタです、JavaScript日の日付をYYYY-MM-DD形式で得るコードは案外面倒です。 2023年4月17日なら 2023-04-17 という文字列を得るコードはRubyならTime.now.strftime("%Y-%m-%d")、Pythonならdatetime.today().strftime("%Y-%m-%d")(importは省略しました)と簡単に書けますが、JavaScriptでは案外面倒なのです。 追記: いくつかの間違いのご指摘がありましたので修正しました(2023-04-19)。 DeepAIが生成した画像です いっけん正しいようで間違ったコード new Date().toISOString().slice(0,10) new Date()で日の日時を取得します toISOString()メソッドは日時データをISO形式の文字列に変換します、例えば 2

    ホームページ- EY-Office
    mohno
    mohno 2023/04/18
    「new Date().toLocaleDateString('sv-SE')」←へぇぇ。というか、JavaScript はいまだに書式指定が面倒なのか、という。
  • JSの日付ライブラリは、どれを使えばいいのかまとめ

    Moment.jsは、新規開発停止、メンテナンスモードに移行 Moment.jsは、新規機能の開発停止、メンテナンスモード(セキュリティ修正とMoment Timezoneのデータ更新は行う)に移行することが発表されています。これから新規開発するプロジェクトでは、別のライブラリを使うことが推奨されています。 僕の新規開発のプロジェクトでも当初はMoment.jsを使っていましたが、リリース前にこの発表が出たので、別のライブラリに変更することにしました。 Moment.jsのドキュメントページに、推奨ライブラリが4つ掲載されていたので、その中から選ぶことにしました。 Luxon Day.js date-fns js-Joda 簡単に結論が出るケース Day.jsを使うべき人 Moment.jsからの移行 Moment.jsを使い慣れている人 Day.jsはMoment.jsと同じAPI体系を

    JSの日付ライブラリは、どれを使えばいいのかまとめ
    mohno
    mohno 2020/12/30
    リンク先、"One day soon, we hope there won't be a strong need for date and time libraries in JavaScript at all."なんだろうな。
  • 1