Date对象构造函数重载方法
一、第一种重载方法---基本 当前时间
1 //构造函数 - 第一种重载方法:基本 当前时间 2 console.log('构造函数 - 第一种重载方法:基本 当前时间') 3 date = new Date(); //返回时间对象 以调用getDate(),内容为当前时间 4 console.log(date); //Sat Mar 10 2018 22:04:38 GMT+0800 (中国标准时间) 5 6 date = Date(); //返回时间字符串 没有getDate等日期对象方法,内容为当前时间 7 console.log(date); //Sat Mar 10 2018 22:04:38 GMT+0800 (中国标准时间) 8 9 date = new Date(); //返回时间毫秒数字 10 console.log(date); 11 //一个静态方法 返回当前时间与1970-01-01的时间间隔,毫秒单位 12 console.log('静态方法') 13 console.log(Date.now()); //1520690678304
二、第二种重载 - 传递毫秒值
1 //构造函数 - 第二种重载 - 传递毫秒值 2 console.log('构造函数 - 第二种重载 - 传递毫秒值') 3 //距离起始时间1970年1月1日的毫秒数 4 date = new Date(1520690678304); 5 console.log(date.toLocaleString()); //2018/3/10 下午10:04:38
三、第三种重载 - 传递零散的年月日时间等日期时间参数
1 //构造函数 - 第三种重载 - 传递零散的年月日时间等日期时间参数 2 console.log('构造函数 - 第三种重载 - 传递零散的年月日时间等日期时间参数') 3 /* 分散的时间数值型构造函数 - 构造函数有 2-7 个参数时, 将是根据 "年, 月, 日, 时, 分, 秒, 毫秒" 建立时间 */ 4 date = new Date(2018, 2, 10, 22, 59, 59); 5 console.log(date.toLocaleString()); //2018/3/10 下午10:59:59 6 7 date = new Date(2018, 2, 10, 22, 59); 8 console.log(date.toLocaleString()); //2018/3/10 下午10:59:00 9 10 date = new Date(2018, 2, 10, 22); 11 console.log(date.toLocaleString()); //2018/3/10 下午10:00:00 12 13 date = new Date(2018, 2, 10); 14 console.log(date.toLocaleString()); //2018/3/10 上午12:00:00 15 16 date = new Date(2018, 2); 17 console.log(date.toLocaleString()); //2018/3/1 上午12:00:00
四、第四种重载--- 传递一个日期形式的字符串
1 console.log('构造函数 - 第四种重载 - 传递一个日期形式的字符串') 2 //date = new Date("month dd,yyyy hh:mm:ss"); 3 //date = new Date(yyyy,mth,dd); 4 //month:用英文表示月份名称,从January到December 5 //mth:用整数表示月份,从(1月)到11(12月) 6 //dd:表示一个月中的第几天,从1到31 7 //yyyy:四位数表示的年份 8 //hh:小时数,从0(午夜)到23(晚11点) 9 //mm:分钟数,从0到59的整数 10 //ss:秒数,从0到59的整数 11 date = new Date("March 10, 2018 22:59:59"); //month dd,yyyy hh:mm:ss格式 12 console.log(date); //Sat Mar 10 2018 22:59:59 GMT+0800 (中国标准时间) 13 console.log(date.toLocaleString()); //2018/3/10 下午10:59:59 14 15 date = new Date("March 10,2018"); //month dd,yyyy格式 16 console.log(date); //Sat Mar 10 2018 00:00:00 GMT+0800 (中国标准时间) 17 console.log(date.toLocaleString()); //2018/3/10 上午12:00:00
五、将日期对象转换成字符串
1 /*将日期对象转换成字符串*/ 2 3 //转换成本地格式 -- 智能识别操作系统语言设置或者浏览器语言设置 4 console.log('转化成本地格式') 5 date = new Date(); 6 console.log(date.toString()) //转换为字符串 Sun Mar 11 2018 09:17:15 GMT+0800 (中国标准时间) 7 console.log(date.toLocaleTimeString()) //获取当前时间 上午9:17:15 8 console.log(date.toLocaleDateString()) //获取当前日期 2018/3/11 9 console.log(date.toLocaleString()) //获取当前日期与时间 2018/3/11 上午9:17:15
六、将一个字符串转换为Date对象的写法
1 /*将一个字符串转换为Date对象的写法*/ 2 3 //为什么需要将其转换成Date对象:因为我如果需要获取日期,或者设置日期时间等都需要在对象的基础上 4 5 console.log('将一个字符串转换为Date对象的写法 -构造函数重载4方法') 6 7 8 //方法1 构造函数重载4 9 var str = "2018-3-11"; 10 date = new Date(str); //字符串转换为Date对象 11 console.log(date.toLocaleString()); //2018/3/11 上午12:00:00 12 13 14 //方法2 Date.parse 15 console.log('将一个字符串转换为Date对象的写法 -Date.parse方法') 16 //把字符串转换为Date对象 17 //然后返回此Date对象与'1970/01/01 00:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00') 18 date = Date.parse("March 11, 2018") 19 console.log(date);//1520697600000 20 21 date = "2018-3-11"; 22 console.log(Date.parse(date));//1520697600000 23 //将字符串包装成对象之后,我们就可以使用接下来该对象拥有的属性和方法了。。。 24 date = new Date(); 25 console.log(date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate());//2018-3-11
七、获取具体的某个日期或者时间
1 /*获取具体的某个日期或者时间*/ 2 3 //当使用构造函数实例化一个日期对象之后,接下来我们可以从其中获取具体的日期,时间等各种数字 4 5 //获取日期 - 年(1970-????) 月(0-11) 日(0-31) 星期(0-6) 6 console.log('获取日期') 7 date = new Date(); 8 console.log(date.getFullYear()); //2018 获取完整的年份(4位,1970-????) 9 console.log(date.getMonth()+1) //3 获取当前月份(0-11,0代表1月),所以加1,就显示正常月份 10 console.log(date.getDate()); //11 获取几号 - 0 - 31 比如25 11 console.log(date.getDay()); //0 (0表示星期天)获取星期几 - 比如星期3的3 12 13 14 //获取时间 - 小时(0-23) 分(0-59) 秒(0-659) 毫秒值(0-999) 比如:12:23:45 375 15 console.log('获取时间') 16 date = new Date(); 17 console.log(date.getHours()) //获取小时 9 18 console.log(date.getMinutes()); //获取分 31 19 console.log(date.getSeconds()); //获取秒 44 20 console.log(date.getMilliseconds()); // 获取毫秒 277 21 console.log(date.getTime()); // 获取相对于1970-01-01的毫秒值 1520731904277
八、设置具体的某个日期或者时间
1 /*设置具体的某个日期或者时间*/ 2 3 //使用方法:创建一个日期对象,然后自定义具体的日期,时间 4 5 //setFullYear(year, opt_month, opt_date) :设置Date对象的年份值;4位年份。 6 //setMonth(month, opt_date) :设置Date对象的月份值。0表示1月,11表示12月。 7 //setDate(date) :设置Date对象的月份中的日期值;值的范围1~31 。 8 //setHours(hour, opt_min, opt_sec, opt_msec) :设置Date对象的小时值。 9 //setMinutes(min, opt_sec, opt_msec) :设置Date对象的分钟值。 10 //setSeconds(sec, opt_msec) :设置Date对象的秒数值。 11 //setMilliseconds(msec) :设置Date对象的毫秒值。 12 13 14 //比如根据太阳的衰变动态计算太阳消失的时间 15 16 date = new Date(); 17 date.setFullYear(2020); // => 2020年 18 date.setMonth(1); // => 1:月;实际为2月份(月份从0开始计算) 19 date.setDate(20); // => 20:日 20 date.setHours(10); // => 10:时 21 date.setMinutes(30); // => 30:分 22 date.setSeconds(50); // => 50:秒 23 date.setMilliseconds(666); // => 666:毫秒 24 console.log(date); // => Thu Feb 20 2020 10:30:50 GMT+0800 (中国标准时间)