package test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Map;
public class Test {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String str = "2012-05-02";
Date date = df.parse(str);
Map<String, String> map = getFirstday_Lastday_Month(date);
System.out.println("当月第一天:" + getFirstDay());
System.out.println("当月最后一天:" + getLastDay());
System.out.println("一个月前第一天:" + map.get("first"));
System.out.println("一个月前最后一天:" + map.get("last"));
}
/**
* 某一个月第一天和最后一天
* @param date
* @return
*/
private static Map<String, String> getFirstday_Lastday_Month(Date date) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH, -1);
Date theDate = calendar.getTime();
//上个月第一天
GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance();
gcLast.setTime(theDate);
gcLast.set(Calendar.DAY_OF_MONTH, 1);
String day_first = df.format(gcLast.getTime());
StringBuffer str = new StringBuffer().append(day_first).append(" 00:00:00");
day_first = str.toString();
//上个月最后一天
calendar.add(Calendar.MONTH, 1); //加一个月
calendar.set(Calendar.DATE, 1); //设置为该月第一天
calendar.add(Calendar.DATE, -1); //再减一天即为上个月最后一天
String day_last = df.format(calendar.getTime());
StringBuffer endStr = new StringBuffer().append(day_last).append(" 23:59:59");
day_last = endStr.toString();
Map<String, String> map = new HashMap<String, String>();
map.put("first", day_first);
map.put("last", day_last);
return map;
}
/**
* 当月第一天
* @return
*/
private static String getFirstDay() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
Date theDate = calendar.getTime();
GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance();
gcLast.setTime(theDate);
gcLast.set(Calendar.DAY_OF_MONTH, 1);
String day_first = df.format(gcLast.getTime());
StringBuffer str = new StringBuffer().append(day_first).append(" 00:00:00");
return str.toString();
}
/**
* 当月最后一天
* @return
*/
private static String getLastDay() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
Date theDate = calendar.getTime();
String s = df.format(theDate);
StringBuffer str = new StringBuffer().append(s).append(" 23:59:59");
return str.toString();
}
}
分享到:
相关推荐
这里包括java处理常用的时间,可以获取当前日期,本周周一日期,本月第一天,本月最后一天等日期处理
java开发中获取当月的第一天和最后一天日期
java代码获取当前月第一天和最后一天的毫秒值(csdn)————程序
Calendar c = new GregorianCalendar(); c.setFirstDayOfWeek(Calendar.MONDAY); c.setTime(new Date()); c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Monday System.out.println(c....//本月第一天
主要介绍了Java实现获取某年某月第一天/最后一天的方法,涉及java日期运算相关操作技巧,需要的朋友可以参考下
Class类工具 \Cookie工具类 \excel读取 工具类\Java如何生成验证码图片和点击刷新验证码\java获取当前月第一天和最后一天,上个月第一天和最后一天\java实现ftp文件的上传与下载\Json工具类 - JsonUtils.java\JS...
1.计算两个日期间的小时数,天数。 2.日期加减得到新的日期 3.根据year和week得到该周第一天和最后一天的日期。
Android Java面试笔试题 带答案
主要介绍了Java实现计算一个月有多少天和多少周,本文直接给出实例代码,需要的朋友可以参考下
天数不包括重叠的天,即第一天和最后一天。 科学家给出了以下测试案例: 1983年2月6日至1983年6月22日:19天 1984年4月7日-1984年12月25日:173天 1989年3月1日至1983年3月8日:1979年 因此,假定该程序将对日期...
154.kafka 同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候 kafka 将如何处理? 155.什么情况会导致 kafka 运行变慢? 156.使用 kafka 集群需要注意什么? 十六、Zookeeper 157.zookeeper ...
示例问题 它是1人1应用程序开发的示例应用程序。 GIF动画 您可以通过屏幕右侧的 Download ZIP 下载源的压缩文件。源的换行代码是 LF 。 无法使用 Windows 记事本查看...2. 问卷屏幕的第 1 天和第 2 天 3. 问卷完成画面