js new Date() 格式

本文介绍了一种JavaScript中日期格式化的实现方法,并提供了获取时间戳的具体代码。通过扩展Date原型,可以方便地将日期转换为指定格式的字符串。

一、日期格式化显示:

对 new Date() 得到日期的进行格式显示扩展,扩展方法如下:

Date.prototype.Format = function (fmt) { //author: meizz 

         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;

}


使用例子:

       (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") //输出结果: 2017-01-23 09:36:10.400
       (new Date()).Format("yyyy-M-d h:m:s.S")      //输出结果: 2017-1-23 9:36:35.572


二、js获取时间戳

var timestamp1 = (new Date()).valueOf();   //输出结果:1485136737263
var timestamp2 = (new Date()).getTime();  //输出结果:1485136744758


在JavaScript中,对使用`new Date()`创建的日期对象进行格式化处理有多种方法: ### 使用JavaScript Moment库 虽然引用中未详细提及该库的使用方式,但Moment.js是一个流行的日期处理库,能方便地对日期进行格式化。示例代码如下: ```javascript const moment = require('moment'); const date = new Date(); const formattedDate = moment(date).format('YYYY-MM-DD HH:mm:ss'); console.log(formattedDate); ``` ### 编写函数实现格式化 可以自定义函数来实现日期的格式化。以下是一个简单的示例: ```javascript function formatDate(date) { const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); const hours = String(date.getHours()).padStart(2, '0'); const minutes = String(date.getMinutes()).padStart(2, '0'); const seconds = String(date.getSeconds()).padStart(2, '0'); return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; } const myDate = new Date(); const formatted = formatDate(myDate); console.log(formatted); ``` ### 为JavaScript Date对象添加格式化方法 可以通过原型链为`Date`对象添加自定义的格式化方法: ```javascript Date.prototype.format = function (format) { const 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(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)); } for (const k in o) { if (new RegExp('(' + k + ')').test(format)) { format = format.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length))); } } return format; }; const dateObj = new Date(); const formattedDateObj = dateObj.format('yyyy-MM-dd hh:mm:ss'); console.log(formattedDateObj); ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值