js基础 Date对象

Date对象用于对日期和时间进行储存和计算。

一、实例化Date对象
①new Date(2018,8,1,10:30:50); //第二个参数'月',范围0~11
②new Date('2018-9-1 10:30:50');
③new Date(); //当前系统时间对象(电脑时间),数据类型:对象
④Date(); //当前系统时间对象,数据类型:字符串
⑤var d5 = new Date(365*24*60*60*1000); /相对于计算机元年时间 //1971-01-01T00:00:00.000Z
⑥var d6 = new Date(d5); //复制Date对象 

//Date对象
//月:0~11--->1月~12月
var d1 = new Date(2018,8,1,10,30,50);//年月日时分秒
//console.log(d1);  //2018-09-01T02:30:50.000Z


var d2 = new Date('2018/9/1 10:30:50');
//console.log(d2);  //2018-09-01T02:30:50.000Z

var d3 = new Date();
console.log(typeof d3);  //object
//console.log(d3);  //2018-07-17T02:33:06.106Z当前系统时间(电脑时间)

var d4 = Date();<code>
console.log(typeof d4);  //string</code>
//console.log(d4);  //构建时间字符串,系统时间
//Tue Jul 17 2018 10:35:06 GMT+0800 (中国标准时间)

var d5 = new Date(0);
//console.log(d5);  //1970-01-01T00:00:00.000Z计算机元年时间
var d51 = new Date(365*24*60*60*1000);
//console.log(d51);  //1971-01-01T00:00:00.000Z

//复制Date对象
var d6 = new Date(d51);  //将d51时间复制给d6
console.log(d6);  //1971-01-01T00:00:00.000Z

二、获取时间信息

getFullYear()     获取年份,返回Date对象年份部分的实际数值
getMonth()     获取月份,范围(0~11)-->1月~12月
getDate()     获取日期,返回Date对象日期部分数值(1~31)
getDay()     获取星期 范围(0~6)-->星期日~星期六
getHours()     获取小时 范围(0~23)
getMinutes()     获取分钟,范围(0~59)
getSeconds()     获取秒,范围(0~59)
getMilliseconds()      获取毫秒 范围(0~999)
getTime()     获取距离计算机元年的毫秒,常用于计算两个时间差。(计算机元年:1970-1-1)
 
var d = new Date('2018/7/15 19:27:40');
console.log(d.getFullYear()); //2018
console.log(d.getMonth());  //6
console.log(d.getDate());  //15
console.log(d.getDay());  //0  代表星期日
console.log(d.getHours());  //19
console.log(d.getMinutes());  //27
console.log(d.getSeconds());  //40

相关练习:计算距离2018年10月1日放假还有多少天,小时,分钟,秒。

var t = new Date('2018/10/1 0:0:0');
//当前时间
var t1 = new Date();
//获取两者相差的毫秒数
var res1 = t.getTime()-t1.getTime();
//var res1 = t-t1; 效果同上
//把相差的毫秒数转成秒数
var res2 = Math.floor(res1/1000);
//转换成天数
var days = Math.floor(res2/(24*60*60));
//用剩余的秒数除以3600--小时
var hour = res2%(24*60*60)/(60*60);
hour = Math.floor(hour);
//剩余的分钟
var minute = res2%(60*60)/60;
minute = Math.floor(minute);
//剩余的秒数
var second = res2%60;
second = Math.floor(second);
console.log(second);
var str = '';
console.log('距离国庆节放假还有:'+days+'天'+hour+'小时'+minute+'分钟'+minute+'秒');

三、设置时间信息

setFullYear()     设置年份,为年份的实际值。
setMonth()     设置月份,(0-11,但不限于)
setDate()     设置日期,(1-31,但不限于)
setHours()     设置小时,(0-23,但不限于)
setMinutes()    设置分钟,(0-59,但不限于)
setSeconds()    设置秒,(0-59,但不限于)
setMilliseconds()    设置毫秒(0-999,但不限于)
setTime()     设置距离计算机元年的毫秒数,以毫秒值设置Date对象。
 
//设置时间信息
var d = new Date('2019/3/15 14:35:40');
//设置年份 get/set
d.setFullYear(2020);

//设置月份 0~11月
d.setMonth(10);  

//设置日期
d.setDate(20);

//设置小时
d.setHours(25);

//设置分钟
d.setMinutes(30);

//设置距离计算机元年(一旦设置,以上都不起作用)
d.setTime(0);  //1970-1-1 08:00:00(改变了d的值)

//console.log(d);
//转换成本地时间格式:年-月-日 时:分:秒
d = d.toLocaleString();   //2019-3-15 14:35:40

//转换成本地时间格式:年-月-日
//d = d.toLocaleDateString(); //2019-3-15

//转换成本地时间格式:时:分:秒
//d = d.toLocaleTimeString();   //14:35:40

四、转换时间格式

toString()     返回Date对象的字符串形式
toDateString()      返回Date对象‘日期’部分(年月日)的字符串形式
toTimeString()     返回Date对象‘时间’部分(时分秒)的字符串形式
toLocaleString()     基于本地时间格式,返回Date对象的字符串形式
toLocaleDateString()      基于本地时间格式,返回Date对象‘日期’部分(年月日)的字符串形式 toLocaleTimeString()      基于本地时间格式,返回Date对象‘时间’部分(时分秒)的字符串形式
 

相关练习:声明一个函数,格式化当前的时间格式,传递参数,设置格式;
如以下:

function format(str){
    return...
  };
  format('yyyy-mm-dd');--->2018-7-17
  format('yyyy/mm/dd');--->2018/7/17
function format(str){
  //当前时间对象
  var d = new Date();
  var year = d.getFullYear();
  var month = d.getMonth()+1;
  var date = d.getDate();
  //判断形参的格式
  if(str =='yyyy-mm-dd'){
    return year + '-' + month + '-' + date;
  }else if(str =='yyyy/mm/dd'){
    return year + '/' + month + '/' + date;
  }else{
    return year + '年' + month + '月' + date + '日';
  };
  
};

var res = format();
console.log(res);  //2018年7月17日


上一篇: js基础 Math对象
下一篇: js基础 Numberd对象,Boolean对象
作者邮箱: 203328517@qq.com