关闭

分别使用java和JS获取某月的第一天和最后一天

标签: javajavascript
596人阅读 评论(0) 收藏 举报
分类:

需求:获取本月的第一天和最后一天

分别使用Js和java代码实现,不能用笨法子,比如根据月份判断大小月,平闰年判断一个多少天,然后取出第一天和最后一天。

以下是实现方式,java代码:

Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));

String firstDayOfMonth = sdf.format(calendar.getTime());

calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));

String lastDayOfMonth = sdf.format(calendar.getTime());

这里使用Calendar的API实现,步骤如下:

1,获取一个Calendar实例,这个实例可以是当月也可以自己来设置

2,设置实例的项:DAY_OF_MONTH,表示按月表示的天,设置为最大值或者最小值。

3,使用getTime()获得java.util.Date类型的对象,然后进行格式化

note:这里Calendar的实例很重要,要获得某月的信息,就要让该实例的月份与结果对应,否则是别的月。

JS代码:没有找到现成的API,只能自己DIY了

// 获取当前月的第一天
<span style="white-space:pre">	</span>function getFirstDayOfMonth(date) {
<span style="white-space:pre">	</span>    var year = date.getFullYear();
<span style="white-space:pre">	</span>    var month = date.getMonth();


<span style="white-space:pre">	</span>    return new Date(year, month, 1);
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>//获取当前月的最后一天
<span style="white-space:pre">	</span>function getLastDayOfMonth(date) {
<span style="white-space:pre">	</span>    var current = date;
<span style="white-space:pre">	</span>    var currentMonth = current.getMonth();
<span style="white-space:pre">	</span>    var nextMonth = ++currentMonth;
<span style="white-space:pre">	</span>    var nextMonthDayOne = new Date(current.getFullYear(), nextMonth, 1);
<span style="white-space:pre">	</span>    var minusDate = 24*3600*1000;
<span style="white-space:pre">	</span>    return new Date(nextMonthDayOne.getTime() - minusDate);
<span style="white-space:pre">	</span>}
获取第一天相对容易,使用Date的构造函数,把传入的实例的年和月取出来分别传入,但还有一个日,第一天嘛当然取1就可以了。

但最后一天相对比较麻烦了,因为不知道该月有多少天,上一个办法就不能轻易奏效了。思路是:取下月第一天的昨天,那肯定是当月的最后一天了



1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:177895次
    • 积分:2779
    • 等级:
    • 排名:第12972名
    • 原创:89篇
    • 转载:23篇
    • 译文:0篇
    • 评论:97条
    最新评论