一、获取某年某月的天数

1.1.获取2018年11月的天数的代码

var d = new Date(2018, 11, 0);//创建一个日期对象。2018代表年,11代表月,0代表2018年11月有几天
var num = d.getDate();//获取该日期对象指定年份、月份的当月天数;
document.write(num);//输出该月天数

1.2.分析

1.2.1.获取某月的天数需要具备两个条件

1.2.2.构造日期对象时必须带有三个参数,年、 月、 天数

1.2.3.通过getDate()来获取日期设置过天数的对象天数

1.3.可以封装一个函数来实现获取当前年月的天数

//调用该函数就可以获取当月的天数
function getDaysNum() {
  var d = new Date();
  var year = d.getFullYear();
  var month = d.getMonth() + 1;
  var newD = new Date(year, month, 0);
  return newD.getDate();
}
var daysNum = getDaysNum();//执行该函数得到当前月份的天数
document.write(daysNum);//打印当前年份的当前月份天数

1.4.可以封装一个函数来实现获取某年月的天数

//调用该函数就可以获取某年某月的天数
function getDaysNum(year, month) {
  var d = new Date(year, month, 0);
  return d.getDate();
}
var daysNum = getDaysNum(2016, 2);//执行该函数得到2016年2月的天数
document.write(daysNum);//打印2016年2月天数

二、构造函数Date解析

2.1.Date语法

new Date();
new Date(value);
new Date(dateString);
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);

2.2.new Date(value)语法解析

2.2.1.new Date(value)参数解释

new Date(value)中value是数字型,是时间戳

2.2.2.new Date(value)解析

new Date(value)表示构造时间戳值为value的日期对象

2.3.new Date(dateString)语法解析

2.3.1.new Date(dateString)参数解释

new Date(dateString)中dateString是字符串类型,代表日期的字符串比如’December 17, 1995 03:24:00′ 或’1995-12-17T03:24:00′

2.3.2.new Date(dateString)解析

new Date(dateString)表示构造日期为字符串dateString值的日期对象

2.4.new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]])语法解析

2.4.1.new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]])参数解释如下

a.year整数类型,代表时间中的年份

b.monthIndex整数类型,代表时间中的月份

c.day整数类型,代表时间中一个月有几天时间。当该值设置为0时,就是monthIndex这个月的最后一天的日子数。该值也可以根据当月的天数(3月)可以被设置为1-31,此时,monthIndex + 1代表该日期对象的月份,day值代表该日期的几月几日的当前日。默认为1

var d = new Date(2018, 2, 0);
var monNum = d.getMonth();
var dNum = d.getDate();
document.write(monNum+ "<br>");//值为1,但表示的是2月
document.write(dNum+ "<br>");//值为:28 获取的是2月的最后一天的日子
document.write(d+ "<br>");//值为:Feb 28 2018 00:00:00 GMT+0800 (澳大利亚西部标准时间)

//......................................

var d = new Date(2018, 2, 20);
var monNum = d.getMonth();
var dNum = d.getDate();
document.write(monNum+ "<br>");//值为2,但表示的是3月
document.write(dNum+ "<br>");//值为:20 获取的是当前对象(3月)的第20天
document.write(d+ "<br>");//值为:Tue Mar 20 2018 00:00:00 GMT+0800 (澳大利亚西部标准时间)

d.hours整数类型,代表当天的第几个小时;默认为0

e.minutes整数类型,代表当前小时的第几分钟;默认为0

f.seconds整数类型,代表当前分钟的第几分钟;默认为0

g.milliseconds整数类型,代表当前秒的的第几微秒;默认为0

2.4.2.new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]])解析;

new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]])表示用年月日小时分钟秒毫秒这七个参数 构造日期对象。日、小时,分钟、秒、毫秒为空时,构造出来的日期,日值为1,小时、分钟、秒、毫秒都为0;

 

本篇文章的知识基础上,可以尝试:

  • 万年历开发

博主联系方式:

  • 微信:34419369
  • QQ: 34419369
  • 公众号:前方录
  • 有什么不懂的地方欢迎联系我,帮到你是我会很开心

Leave a Reply

邮箱地址不会被公开。 必填项已用*标注