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

原创 2015年12月10日 18:52:46

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

分别使用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就可以了。

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



相关文章推荐

Java获取一年里某季、某月、某周的第一天及最后一天时间

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor...

java获取某月,某季度的第一天和最后一天

/** * 某一个月第一天和最后一天 * * @param date 指定日期 * @param pattern 日期格式 * @param isNeedHms是否需要时分秒 * @re...

Java获取某年某月的最后一天

Java获取某年某月的最后一天 1、设计源码 LastDayOfMonth.java: /** * @Title:LastDayOfMonth.java * @Package:com.you...

java 获取当前年份 月份,当月第一天和最后一天

public class CalendarTest { public static void main(String[] args) { // 获取当前年份、月份、日期 Calendar c...
  • sunhuwh
  • sunhuwh
  • 2014年09月09日 23:06
  • 24607

java获取指定日期所在周的第一天和最后一天

java获取指定日期所在周的第一天和最后一天 第一种方法 public static String getFirstAndLastOfWeek(String dataStr) throws P...

java获取年份的第一天和最后一天

package com.dada.test; import java.text.SimpleDateFormat; import java.util.Calendar; import java.u...

java以及JavaScript获取当月第一天和最后一天日期

一、JavaScript部分代码/** * 获取当前月的第一天 */ function getCurrentMonthFirst(){ var date=new Date(); date.se...

以 Java 取出某一年裡某季、某月、某週之第一天及最後一天

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar;...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:分别使用java和JS获取某月的第一天和最后一天
举报原因:
原因补充:

(最多只允许输入30个字)