JavaScript Date对象
JavaScript Date对象说明:
Date对象,是操作日期和时间的对象。Date对象对日期和时间的操作只能通过方法。
JavaScript 日期输出:
默认情况下,JavaScript 将使用浏览器的时区并将日期显示为全文本字符串:
Tue Apr 02 2019 09:01:19 GMT+0800 (中国标准时间)
JavaScript 日期创建:
有四种方式,方法如下:
- new Date() // 用当前日期和时间创建新的日期对象:
- new Date(year, month, day, hours, minutes, seconds, milliseconds) // 用指定日期和时间创建新的日期对象。
- new Date(milliseconds) //创建一个零时加毫秒的新日期对象:
- new Date(date string) // 从日期字符串创建一个新的日期对象:
JavaScript 获取日期方法
获取时间:
getFullYear() 方法以四位数字形式返回日期年份:
var d = new Date();
document.getElementById("demo").innerHTML = d.getFullYear();
getMonth() 返回日期的月份:
var d = new Date();
document.getElementById("demo").innerHTML = d.getMonth();
注意:getmonth() 从零开始,也就是说,日期为一月的时候getmonth为 【 0 】,所以在单独设置或提取日期是一个个在原基础上加一
getDate() 返回日期的日:
var d = new Date();
document.getElementById("demo").innerHTML = d.getDate();
getHours() 返回日期的小时数:
var d = new Date();
document.getElementById("demo").innerHTML = d.getHours();
getMinutes() 返回日期的分钟数:
var d = new Date();
document.getElementById("demo").innerHTML = d.getMinutes();
getSeconds() 返回日期的秒数:
var d = new Date();
document.getElementById("demo").innerHTML = d.getSeconds();
getTime() 返回Date对象与'1970/01/01 00:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00') 。
var d = new Date();
document.getElementById("demo").innerHTML = d.getTime();
getMilliseconds() 返回日期的毫秒数:
var d = new Date();
document.getElementById("demo").innerHTML = d.getMilliseconds();
getDay() 返回日期的星期名(weekday):
var d = new Date();
document.getElementById("demo").innerHTML = d.getDay();
注意:getDay() 从零开始,也就是说,日期为星期天的时候getmonth为 【 0 】
JavaScript 设置日期方法
setFullYear(year, opt_month, opt_date) :设置Date对象的年份值;4位年份。
setMonth(month, opt_date) :设置Date对象的月份值。0表示1月,11表示12月。
setDate(date) :设置Date对象的月份中的日期值;值的范围1~31 。
setHours(hour, opt_min, opt_sec, opt_msec) :设置Date对象的小时值。
setMinutes(min, opt_sec, opt_msec) :设置Date对象的分钟值。
setSeconds(sec, opt_msec) :设置Date对象的秒数值。
setMilliseconds(msec) :设置Date对象的毫秒值。
示例:
var dt = new Date();
dt.setFullYear(2014); // => 2014:年
dt.setMonth(11); // => 11:月;实际为12月份(月份从0开始计算)
dt.setDate(25); // => 25:日
dt.setHours(15); // => 15:时
dt.setMinutes(30); // => 30:分
dt.setSeconds(40); // => 40:秒
dt.setMilliseconds(333); // => 333:毫秒
console.log(dt); // => 2014年12月25日 15点30分40秒 333毫秒
JavaScript 其他设置日期方法:
toString() :将Date转换为一个'年月日 时分秒'字符串
toLocaleString() :将Date转换为一个'年月日 时分秒'的本地格式字符串
toDateString() :将Date转换为一个'年月日'字符串
toLocaleDateString() :将Date转换为一个'年月日'的本地格式字符串
toTimeString() :将Date转换为一个'时分秒'字符串
toLocaleTimeString() :将Date转换为一个'时分秒'的本地格式字符串
valueOf() :与getTime()一样, 返回Date对象与'1970/01/01 00:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00')
示例
var dt = new Date();
console.log(dt.toString()); // => Tue Dec 23 2014 22:56:11 GMT+0800 (中国标准时间) :将Date转换为一个'年月日 时分秒'字符串
console.log(dt.toLocaleString()); // => 2014年12月23日 下午10:56:11 :将Date转换为一个'年月日 时分秒'的本地格式字符串
console.log(dt.toDateString()); // => Tue Dec 23 2014 :将Date转换为一个'年月日'字符串
console.log(dt.toLocaleDateString()); // => 2014年12月23日 :将Date转换为一个'年月日'的本地格式字符串
console.log(dt.toTimeString()); // => 22:56:11 GMT+0800 (中国标准时间) :将Date转换为一个'时分秒'字符串
console.log(dt.toLocaleTimeString()); // => 下午10:56:11 :将Date转换为一个'时分秒'的本地格式字符串
console.log(dt.valueOf()); // => 返回Date对象与'1970/01/01 00:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00')
我们来几个实际案例
【将日期字符串格式化成指定内容】
<script> //1、 功能:把日期转成指定格式的字符串形式,如:2020-03-19 // function toMyDateString(d,fenGe){ // return d.getFullYear() + fenGe + (d.getMonth()+1) + fenGe + d.getDate(); // } // var d =new Date(); // var str = toMyDateString(d,"-"); // // var str = toMyDateString(d,","); // console.log(str); //2、 功能:把日期转成指定格式的字符串形式,如:2020-03-19 16:44:55 // 参数: // 日期对象, // 分隔符 // 返回值: 字符串 // function toMyString(d,fenGe){ // var str = d.getFullYear() + fenGe + (d.getMonth()+1) + fenGe + d.getDate(); // str += " "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds(); // return str; // } // var d = new Date(); // var str = toMyString(d,"-"); // console.log(str); </script>
【计算时间差】
<script> // 4.编写函数,要求传入两个时间节点, // 能返回两个时间节点之间相差 `多少天多少小时多少分钟多少秒` function fn(a, b){ var d1 = new Date(a) var d2 = new Date(b) var t = Math.abs(d1.getTime() - d2.getTime()) var d = parseInt(t / (24*60*60*1000)) var h = parseInt((t-d *(24*60*60*1000))/(60*60*1000)) var m = parseInt((t/ (60*1000)) % 60) var s = parseInt((t/1000) % 60 ) return '两时间节点时差:' + d + '天' + h + '时' + m + '分' + s + '秒' } console.log(fn("2020-03-19 21:50:55","2020-02-18 23:00:10")) </script>
浙公网安备 33010602011771号