You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Date对象getMinutes/getSeconds触发TypeError报错,求技术解决

解决Uncaught TypeError: d.getMinutes is not a function的问题

嘿,这个报错我见得挺多的,大概率是你创建Date对象的方式出了问题,或者变量d被意外覆盖成了非Date类型的值。咱们一步步来排查修复:

最常见的原因:漏掉了new关键字

如果你不小心写成了这样:

var d = Date(); // 没有new!
var e = d.getMinutes();
var f = d.getSeconds();

直接调用Date()返回的是字符串类型的当前时间,而不是Date实例,字符串当然没有getMinutes()和getSeconds()方法,自然就会报错。

正确的写法

确保用new关键字创建Date实例:

// 正确创建Date对象
var d = new Date();
// 现在调用方法就没问题了
var e = d.getMinutes();
var f = d.getSeconds();

// 可以打印验证结果
console.log(`当前分钟:${e},当前秒数:${f}`);

其他可能的排查点

如果已经用了new还是报错,那得检查:

  • 有没有其他代码在这个位置之前,把变量d重新赋值成了其他类型(比如字符串、数字、普通对象)?比如var d = "2024-01-01";这种,会覆盖掉之前的Date实例。
  • 可以在创建d之后加一行代码验证类型:
    var d = new Date();
    console.log(typeof d, d instanceof Date); 
    // 正常应该输出:object true
    
    如果输出不是object true,说明d不是有效的Date对象,得找变量被污染的地方。

内容的提问来源于stack exchange,提问作者qadenza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:19:34