JS中new Date().Format(“yyyy-MM-dd”) 报错的解决

yizhihongxing

JS中使用new Date().Format("yyyy-MM-dd")进行日期格式化时,会出现报错的问题。这是因为JS本身不支持Date对象的Format方法。要正确地格式化日期,需要使用JS的日期对象的原型扩展prototype方法。

具体的解决方法是:通过扩展JS中日期对象的原型,自定义一个Format方法,将日期格式化成所需要的字符串形式。以下是代码示例。

// 扩展JS中日期对象的原型方法,自定义Format函数
Date.prototype.Format = function(fmt) {
    var o = {
        "M+": this.getMonth() + 1, //月份
        "d+": this.getDate(), //日
        "h+": this.getHours(), //小时
        "m+": this.getMinutes(), //分
        "s+": this.getSeconds(), //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    }
    for (var k in o) {
        if (new RegExp("(" + k + ")").test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        }
    }
    return fmt;
}

// 使用自定义的Format方法格式化日期
var date = new Date();
var dateStr = date.Format("yyyy-MM-dd");
alert(dateStr); // 控制台输出 "2021-02-25"

通过以上的代码示例,我们可以轻松地使用JS中自定义的Format方法,以想要的格式格式化日期。

有时候在使用这种方法时,也会遇到报错的问题。这种情况一般是因为在日期格式中使用了不支持的字符导致的。下面我们给出一个使用错误的代码示例。

var date = new Date();
var dateStr = date.Format("yyyy-MM-dd hh:mm:ss");
alert(dateStr); // 控制台报错 "Uncaught TypeError: Invalid time value"

上面的代码报错是因为在日期格式中使用了"hh"这个不支持的字符。这时候需要把"hh"改成"HH",即使用24小时制的小时数,代码改成以下方式即可通过。

var date = new Date();
var dateStr = date.Format("yyyy-MM-dd HH:mm:ss");
alert(dateStr); // 控制台输出 "2021-02-25 19:10:25"

以上就是关于JS中new Date().Format("yyyy-MM-dd")报错的解决攻略,希望可以对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS中new Date().Format(“yyyy-MM-dd”) 报错的解决 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 借助script进行Http跨域请求:JSONP实现原理及代码

    下面是“借助script进行Http跨域请求:JSONP实现原理及代码”的完整攻略。 什么是JSONP? JSONP是一种解决跨域请求的方法,其原理是利用标签的src属性不受同源策略的限制来实现跨域请求。在JSONP中,客户端通过动态创建script标签,向服务端发送一个请求,并指定一个回调函数的名称。服务端接收到请求后,将数据作为参数传递给指定的回调函数,…

    JavaScript 2023年5月27日
    00
  • Javascript运行机制之Event Loop

    让我来为您讲解Javascript运行机制之Event Loop的完整攻略。 什么是Event Loop Event Loop(事件循环)是指在Javascript的运行期间,用于处理异步操作的一种机制。其中异步操作包括setTimeout、Promise、DOM事件等等。 当Javascript代码遇到异步操作的时候,会将其放入事件队列(Event Que…

    JavaScript 2023年6月11日
    00
  • js 编写规范

    下面我来详细讲解“JS 编写规范”的攻略。 规范一:命名规范 变量和函数名:使用小驼峰式命名法,首字母小写,如 firstName。 常量名:使用全大写命名法,单词之间使用下划线分割,如 MAX_NUM。 类名:使用帕斯卡命名法,首字母大写,如 Person。 私有成员:使用下划线前缀标识私有成员,如 _private. 示例代码1: let count =…

    JavaScript 2023年5月18日
    00
  • JS实现手写 forEach算法示例

    当我们需要在JavaScript中对数组中的每个元素进行操作时,可以使用forEach方法。但是,如果我们想要深入了解forEach方法的实现过程,那么我们可以使用手写forEach算法来了解它的原理。 实现步骤 首先,我们需要明确手写forEach算法的实现步骤: (1)接收一个数组和一个回调函数作为参数; (2)依次遍历数组中的每个元素; (3)对每个元…

    JavaScript 2023年5月28日
    00
  • js 函数调用模式小结

    JS 函数调用模式小结 函数是 JavaScript 中的重要部分,函数可以通过多种方式调用。在本文中,我们将总结函数的几种调用模式,以及它们的区别和应用场景。 函数调用模式 1. 函数调用模式 这是最基本的一种调用模式。直接使用函数名并传递参数进行调用即可。 function printHello(name){ console.log(`Hello, ${…

    JavaScript 2023年5月27日
    00
  • JavaScript中的创建枚举四种方式

    当我们需要为了提高程序的可读性和可维护性的目的,要定义一些有限的可能性的常量时,就需要使用枚举了。在 JavaScript 中,以下是创建枚举的四种方式: 1. 使用对象 通过定义一个对象,我们可以实现基本的枚举功能。 const DAY_OF_WEEK = { SUNDAY: 0, MONDAY: 1, TUESDAY: 2, WEDNESDAY: 3, …

    JavaScript 2023年6月10日
    00
  • JS实现点击事件统计的简单实例

    这里我来详细讲解一下如何实现“JS实现点击事件统计的简单实例”,步骤如下: 步骤一:添加代码 首先,我们需要在网页中添加一个JS脚本来实现点击事件统计的功能。在网页的html文件中添加以下代码: <script type="text/javascript"> document.addEventListener("cl…

    JavaScript 2023年6月11日
    00
  • javascript splice数组简单操作

    JavaScript中的数组操作之——splice 在JavaScript中,数组是一个非常常用的数据类型,而对于数组的操作,是很多程序员必须要掌握的一种基本技能。在这里,我们就讲解一下JavaScript中常用的数组操作——splice。splice可以实现给数组删除和增加元素的操作,同时还可以返回被删除的元素。 语法及参数 splice的语法如下: ar…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部