java获取当月第一天时间、当月最后一天时间、上月第一天时间、上月最后一天时间
java获取当月第一天时间、当月最后一天时间、上月第一天时间、上月最后一天时间
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class test {
public static void main(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
// 本月起始
Calendar thisMonthFirstDateCal = Calendar.getInstance();
thisMonthFirstDateCal.set(Calendar.DAY_OF_MONTH, 1);
String thisMonthFirstTime = format.format(thisMonthFirstDateCal.getTime()) + " 00:00:00";
System.out.println("本月起始:" + thisMonthFirstTime);
// 本月末尾
Calendar thisMonthEndDateCal = Calendar.getInstance();
thisMonthEndDateCal.set(Calendar.DAY_OF_MONTH, thisMonthEndDateCal.getActualMaximum(Calendar.DAY_OF_MONTH));
String thisMonthEndTime = format.format(thisMonthEndDateCal.getTime()) + " 23:59:59";
System.out.println("本月末尾:" + thisMonthEndTime);
// 上月起始
Calendar lastMonthFirstDateCal = Calendar.getInstance();
lastMonthFirstDateCal.add(Calendar.MONTH,-1);
lastMonthFirstDateCal.set(Calendar.DAY_OF_MONTH, 1);
String lastMonthFirstTime = format.format(lastMonthFirstDateCal.getTime()) + " 00:00:00";
System.out.println("上月起始:" + lastMonthFirstTime);
// 上月末尾
Calendar lastMonthEndDateCal = Calendar.getInstance();
lastMonthEndDateCal.add(Calendar.MONTH,-1);
lastMonthEndDateCal.set(Calendar.DAY_OF_MONTH, lastMonthEndDateCal.getActualMaximum(Calendar.DAY_OF_MONTH));
String lastMonthEndTime = format.format(lastMonthEndDateCal.getTime()) + " 23:59:59";
System.out.println("上月末尾:" + lastMonthEndTime);
}
}
java获取当前时间本周第一天跟本周最后一天
/**
* 获取当前周的周一的日期
* @param date 传入当前日期
* @return
*/
public static Date getThisWeekMonday(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// 获得当前日期是一个星期的第几天
int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
if (1 == dayWeek) {
cal.add(Calendar.DAY_OF_MONTH, -1);
}
// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
cal.setFirstDayOfWeek(Calendar.MONDAY);
// 获得当前日期是一个星期的第几天
int day = cal.get(Calendar.DAY_OF_WEEK);
cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
cal.set(Calendar.HOUR_OF_DAY,0);
cal.set(Calendar.MINUTE,0);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.MILLISECOND,0);
return cal.getTime();
}/**
* 获取当前周的周天的日期
* @param date 传入当前日期
* @return
*/
public static Date getThisWeekSunday(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// 获得当前日期是一个星期的第几天
int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
if (1 == dayWeek) {
cal.add(Calendar.DAY_OF_MONTH, -1);
}
// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
cal.setFirstDayOfWeek(Calendar.MONDAY);
// 获得当前日期是一个星期的第几天
int day = cal.get(Calendar.DAY_OF_WEEK);
int first = cal.getFirstDayOfWeek();
// 计算周天的日期
cal.add(Calendar.DAY_OF_WEEK, first - day + 6);
cal.set(Calendar.HOUR_OF_DAY,23);
cal.set(Calendar.MINUTE,59);
cal.set(Calendar.SECOND,59);
cal.set(Calendar.MILLISECOND,59);
return cal.getTime();
}
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用
- EditText默认不获取焦点弹出键盘