JavaScript中的Date对象

这篇博客详细介绍了JavaScript中的Date对象,包括如何创建Date实例、获取当前时间的毫秒数、各种日期和时间的方法,以及如何格式化日期和计算时间差。通过示例展示了如何使用Date.now()、Date构造函数的不同参数以及如何自定义函数来格式化日期为yyyy-MM-ddHH:mm:ss的形式,并计算两个日期之间的天、时、分、秒差值。
摘要由CSDN通过智能技术生成

创建 Date 实例用来处理日期和时间。Date 对象基于197011日(世界标准时间)起的毫秒数。

// 获取当前时间,UTC世界时间,距197011日(世界标准时间)起的毫秒数

var now = new Date();

console.log(now.valueOf()); // 获取距197011日(世界标准时间)起的毫秒数
Date构造函数的参数

1. 毫秒数 1498099000356 new Date(1498099000356)

2. 日期格式字符串  '2015-5-1' new Date('2015-5-1')

3. 年、月、日……  new Date(2015, 4, 1)   // 月份从0开始
  • 获取日期的毫秒形式
var now = new Date();

// valueOf用于获取对象的原始值

console.log(date.valueOf()) 
// HTML5中提供的方法,有兼容性问题

var now = Date.now(); 
// 不支持HTML5的浏览器,可以用下面这种方式

var now = + new Date(); // 调用 Date对象的valueOf() 
  • 日期格式化方法
toString() // 转换成字符串

valueOf() // 获取毫秒值

// 下面格式化日期的方法,在不同浏览器可能表现不一致,一般不用

toDateString()

toTimeString()

toLocaleDateString()

toLocaleTimeString()
  • 获取日期指定部分
getTime()  // 返回毫秒数和valueOf()结果一样,valueOf()内部调用的getTime()

getMilliseconds() 

getSeconds()  // 返回0-59

getMinutes()  // 返回0-59

getHours()    // 返回0-23

getDay()      // 返回星期几 0周日   66

getDate()     // 返回当前月的第几天

getMonth()    // 返回月份,***0开始***

getFullYear() //返回4位的年份  2016

案例

  • 写一个函数,格式化日期对象,返回yyyy-MM-dd HH:mm:ss的形式
function formatDate(d) {

 //如果date不是日期对象,返回

 if (!date instanceof Date) {

   return;

}

 var year = d.getFullYear(),

     month = d.getMonth() + 1, 

     date = d.getDate(), 

     hour = d.getHours(), 

     minute = d.getMinutes(), 

     second = d.getSeconds();

 month = month < 10 ? '0' + month : month;

 date = date < 10 ? '0' + date : date;

 hour = hour < 10 ? '0' + hour : hour;

 minute = minute < 10 ? '0' + minute:minute;

 second = second < 10 ? '0' + second:second;

 return year + '-' + month + '-' + date + ' ' + hour + ':' + minute + ':' + second;

}
  • 计算时间差,返回相差的天///
function getInterval(start, end) {

 var day, hour, minute, second, interval;

 interval = end - start;

 interval /= 1000;

 day = Math.round(interval / 60 /60 / 24);

 hour = Math.round(interval / 60 /60 % 24);

 minute = Math.round(interval / 60 % 60);

 second = Math.round(interval % 60);

 return {

   day: day,

   hour: hour,

   minute: minute,

   second: second

}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值