In all our pseudocode examples supposing a Japanese calendar thus far, we've been passing in era names as lowercased ASCII string identifiers made from English transliterations of the names, e.g. { year: 2, era: 'reiwa' } for the current year. That requires that these identifiers are unique. However, that seems not to be the case as there are several eras written with different kanji but with the
Wednesday, August 23, 2023 Dates in JS suck. Well, they suck in all languages, really. It's surprisingly hard to get right. The native Date is super limited. Sure, you can new Date('2015-10-21T01:22:00.000Z') and date.toISOString(), maybe dateA < dateB, but that's pretty much it. Need to add minutes, hours, or whatever to a date, check how many days there are until X date, etc? Good luck with that
SNS などでよく見かける、記事投稿時刻の「N時間前」「M日前」のような、ざっくりとした時刻の差分表示を JS の新しい日付型の Temporal を使って実装する方法の紹介です。 ベースとなる時刻は Temporal.ZonedDateTime 型で管理されているものとすると、以下のような関数で、最大単位に丸めた差分時刻表示をすることが出来ます。 function relative(date: ZonedDateTime): string { const d = date.until(Temporal.Now.zonedDateTimeISO()); if (d.total("day") > 1) { return d.round({ smallestUnit: "day" }).days + "日前"; } if (d.total("hour") > 1) { return d.rou
JS で新しく提案されている日付計算の API である temporal。 プロポーザルとしてはまだ stage 2 だが、先日の TC39 のスライドですでに仕様やポリフィルは stable と言っていい状況(?)という文言が見えたので、使ってみる 実は筆者はすでに一度(2020年8月) temporal にフィードバックのアンケートを送ったことがあるが、そのときは新規プロジェクトでの使用を想定したもので、既存のを移行するとどのくらいつらいかはあまり考えていなかった。 また、今 temporal-polyfill を見たら当時からさらに API が変わっていた。 具体的には、現在時刻をタイムゾーン指定で生成するためのメソッドである Temporal.now.zonedDateTimeISO() は私がアンケートを送った頃にはなかったし、Duration に負の値を取れるというのも当時は確
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く