javascript エラー「Uncaught TypeError: xxx.toUTCString is not a function」の解決方法
- 作成日 2023.03.29
- javascript
- javascript
javascriptで、エラー「Uncaught TypeError: xxx.toUTCString is not a function」が発生した場合の原因と解決方法を記述してます。「Date.now()」のような有効な日付オブジェクト以外に「toUTCString」を使用した際に発生します。「chrome」や「firefox」や「safari」の各ブラウザのエラーメッセージの画像もキャプチャしてます。
環境
- OS windows11 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 111.0.5563.111
エラー内容
以下の、「Date.now()」からUTCタイムゾーンを使って文字列に変換しようとしたコードにて発生。
const d = Date.now();
console.log(d); // 1668221566065
const result = d.toUTCString();
エラーメッセージ
Uncaught TypeError: d.toUTCString is not a function
画像
firefox106の場合でも同じエラーが発生します。
Uncaught TypeError: d.toUTCString is not a function
画像
safari15.5では、以下のエラーとなります。
TypeError: d.toUTCString is not a function. (In 'd.toUTCString()', 'd.toUTCString' is undefined)
画像
原因
「Date.now()」は、有効な日付オブジェクトではないため「toUTCString」には使用できない
const d = Date.now();
console.log(d); // 1668221566065
解決方法
有効な日付オブジェクトである「new Date()」を使用する
const d = new Date();
console.log(d); // Sat Nov 12 2022 11:57:19 GMT+0900 (日本標準時)
const result = d.toUTCString();
console.log(result);
// Sat, 12 Nov 2022 02:57:19 GMT
または、「new Date()」であるかを判定して使用します。
const d = Date.now();
const result = toString.call(d).slice(8, -1) === 'Date' ? d.toUTCString() : '有効な日付オブジェクトではありません';
console.log( result );
// 有効な日付オブジェクトではありません
-
前の記事
GAS googleドライブで指定したファイルをゴミ箱に移動する 2023.03.29
-
次の記事
kotlin 小数点で四捨五入を実行する 2023.03.29
コメントを書く