调用date.toUTCString()抛出TypeError: 不是函数,求解决建议
解决TypeError: date.toUTCString is not a function问题
嘿,这个错误我碰到过好几次啦!它的核心问题很明确——你调用toUTCString()的那个date变量根本不是一个合法的JavaScript Date对象,可能是字符串、数字或者undefined这类非Date类型的值,自然就找不到这个方法啦。
给你几个具体的解决建议:
先把目标值转为有效的Date实例
如果你的date是字符串(比如接口返回的日期字符串、用户输入的内容)或者时间戳数字,必须先通过new Date()把它转换成Date对象,再调用方法。举个例子:// 假设你的原始日期是字符串 const rawDate = "2024-05-20"; const dateObj = new Date(rawDate); // 一定要检查转换是否成功!如果字符串格式不合法,会生成Invalid Date if (dateObj instanceof Date && !isNaN(dateObj)) { const utcString = dateObj.toUTCString(); console.log(utcString); // 这里就能正常输出UTC格式的日期字符串啦 } else { console.error("哎呀,这个日期格式不对,转换失败了!"); }排查
date变量的来源
看看你的date变量是从哪里来的:是后端接口返回的?还是前端自己生成的?如果是接口返回的,确认一下它的类型——很多时候后端会返回字符串格式的日期,这时候就必须手动转成Date对象再操作。避免直接对非Date类型调用Date方法
比如下面这种错误写法就会触发你遇到的问题:const date = "2024-05-20"; const utc = date.toUTCString(); // 报错!因为date是字符串,不是Date对象改成前面提到的先转成Date对象的写法就没问题了。
内容的提问来源于stack exchange,提问作者andy94
相关产品推荐
相关产品推荐

