Date.toLocaleFormat() が削除されました

公開日: | カテゴリー: JavaScript

概要

Firefox 55 以降廃止予定となっていた Date.prototype.toLocaleFormat メソッドは、標準化されなかったため、Firefox 58 で削除されました。Firefox 以外どのブラウザーもこのメソッドを実装していません。

例えば Sugar のように同じ結果を得られる JavaScript ライブラリがあります。また、以下の例が示すように、ECMAScript Internationalization API の一部である標準の toLocaleDateString メソッドを使用することもできます。

// "Tuesday, August 1, 2017" のような形式
(new Date()).toLocaleFormat('%A, %B %e, %Y');
// これは以下のように置き換えられます
(new Date()).toLocaleString('en-US', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  weekday: 'long',
});
// "2017-08-01 20:07:13" のような形式
(new Date()).toLocaleFormat('%Y-%m-%d %H:%M:%S');
// これは以下のように置き換えられます
(new Date()).toLocaleString('en-US', {
  year: 'numeric',
  month: '2-digit',
  day: '2-digit',
  hour: '2-digit',
  minute: '2-digit',
  second: '2-digit',
  hour12: false,
}).replace(/(\d+)\/(\d+)\/(\d+),\s(.*)/, '$3-$1-$2 $4');

参考資料