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>

 

 

posted @ 2020-03-23 09:39  胡白  阅读(153)  评论(0)    收藏  举报