JavaScript 获取当前时间及时间格式化方法

作者:资源驿站

时间:2026-10-23

浏览:523

本文介绍如何在 JavaScript 中获取当前系统时间的年月日时分秒,并提供一种通用的时间格式化扩展方法。通过 Date 对象的各种 getter 方法提取时间分量,结合正则替换实现自定义格式输出,适用于前端开发中的日期显示需求。

文章目录

获取当前时间对象

首先,需要实例化一个 Date 对象以获取当前系统时间。

var myDate = new Date();

接着,利用 Date 对象提供的多种方法提取具体的时间分量,包括年份、月份、日期、星期、小时、分钟、秒及毫秒等详细信息。

提取时间分量


myDate.getYear();    // 获取当前年份(2位)
myDate.getFullYear();  // 获取完整的年份(4位,1970-????)
myDate.getMonth();    // 获取当前月份(0-11,0代表1月)
myDate.getDate();    // 获取当前日(1-31)
myDate.getDay();     // 获取当前星期X(0-6,0代表星期天)
myDate.getTime();    // 获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours();    // 获取当前小时数(0-23)
myDate.getMinutes();   // 获取当前分钟数(0-59)
myDate.getSeconds();   // 获取当前秒数(0-59)
myDate.getMilliseconds();  // 获取当前毫秒数(0-999)
myDate.toLocaleDateString();   // 获取当前日期
var mytime=myDate.toLocaleTimeString();   // 获取当前时间
myDate.toLocaleString( );    // 获取日期与时间

为了将 Date 对象转换为特定格式的字符串,可以扩展 Date 原型,定义一个 Format 方法。该方法支持年、月、日、时、分、秒及毫秒的自定义格式输出,允许使用不同数量的占位符来匹配输出精度。

实现时间格式化


// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
 
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;
}

在实际调用中,可以直接使用上述扩展的 Format 方法,传入指定的格式字符串即可得到格式化后的时间字符串。

格式化调用示例


var time1 = new Date().Format("yyyy-MM-dd");
 
var time2 = new Date().Format("yyyy-MM-dd hh:mm:ss");

总结

综上所述,通过实例化 Date 对象并调用其相关方法,可以获取完整的时间信息;通过扩展原型方法,可以实现灵活的时间格式化输出。

希望上述关于 JS 获取当前时间及时间格式化的介绍能对读者有所帮助。如有任何疑问,欢迎留言交流,小编会及时回复。感谢对本站的支持,若觉得本文有用,欢迎转载并注明出处。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章