package com.boying.common.util;
|
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.Calendar;
|
import java.util.Date;
|
import java.util.TimeZone;
|
|
public class DateUtil {
|
|
public static String DateToString(Date date,String format){
|
if(!StringUtil.isNullOrEmpty(format)){
|
SimpleDateFormat f = new SimpleDateFormat(format);
|
String sDate = f.format(date);
|
return sDate;
|
}
|
SimpleDateFormat f = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
|
String sDate = f.format(date);
|
return sDate;
|
}
|
|
public static Date stringToDate(String date,String format) throws ParseException {
|
if(!StringUtil.isNullOrEmpty(format)){
|
SimpleDateFormat f = new SimpleDateFormat(format);
|
return f.parse(date);
|
}
|
SimpleDateFormat f = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
|
return f.parse(date);
|
}
|
|
|
public static Date getYearFirst(int year){
|
Calendar calendar = Calendar.getInstance();
|
calendar.clear();
|
calendar.set(Calendar.YEAR, year);
|
Date currYearFirst = calendar.getTime();
|
return currYearFirst;
|
}
|
|
/**
|
* 获取某年最后一天日期
|
* @param year 年份
|
* @return Date
|
*/
|
public static Date getYearLast(int year){
|
Calendar calendar = Calendar.getInstance();
|
calendar.clear();
|
calendar.set(Calendar.YEAR, year);
|
calendar.roll(Calendar.DAY_OF_YEAR, -1);
|
Date currYearLast = calendar.getTime();
|
|
return currYearLast;
|
}
|
|
/**
|
* 获取指定年月的第一天
|
* @param year
|
* @param month
|
* @return
|
*/
|
public static Date getFirstDayOfMonth(int year, int month) {
|
Calendar cal = Calendar.getInstance();
|
//设置年份
|
cal.set(Calendar.YEAR, year);
|
//设置月份
|
cal.set(Calendar.MONTH, month-1);
|
//获取某月最小天数
|
int firstDay = cal.getMinimum(Calendar.DATE);
|
//设置日历中月份的最小天数
|
cal.set(Calendar.DAY_OF_MONTH,firstDay);
|
return cal.getTime();
|
}
|
|
/**
|
* 获取指定年月的最后一天
|
* @param year
|
* @param month
|
* @return
|
*/
|
public static Date getLastDayOfMonth(int year, int month) {
|
Calendar cal = Calendar.getInstance();
|
//设置年份
|
cal.set(Calendar.YEAR, year);
|
//设置月份
|
cal.set(Calendar.MONTH, month-1);
|
//获取某月最大天数
|
int lastDay = cal.getActualMaximum(Calendar.DATE);
|
//设置日历中月份的最大天数
|
cal.set(Calendar.DAY_OF_MONTH, lastDay);
|
return cal.getTime();
|
}
|
|
public static String getFirstTimeByDate() {
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
Calendar cal = Calendar.getInstance();
|
String start_update = format.format(cal.getTime());
|
cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY)-1);
|
String end_update = format.format(cal.getTime());
|
return end_update;
|
}
|
|
public static Date getMinute(Date date,int x){
|
Calendar beforeTime = Calendar.getInstance();
|
beforeTime.setTime(date);
|
beforeTime.add(Calendar.MINUTE, x);
|
return beforeTime.getTime();
|
}
|
|
//当天的开始
|
public static Date getStartTime() {
|
Calendar todayStart = Calendar.getInstance();
|
todayStart.set(Calendar.HOUR_OF_DAY, 0);
|
todayStart.set(Calendar.MINUTE, 0);
|
todayStart.set(Calendar.SECOND, 0);
|
todayStart.set(Calendar.MILLISECOND, 0);
|
return todayStart.getTime();
|
}
|
|
//当天的结束
|
public static Date getEndTime() {
|
Calendar todayEnd = Calendar.getInstance();
|
todayEnd.set(Calendar.HOUR_OF_DAY, 23);
|
todayEnd.set(Calendar.MINUTE, 59);
|
todayEnd.set(Calendar.SECOND, 59);
|
todayEnd.set(Calendar.MILLISECOND, 999);
|
return todayEnd.getTime();
|
}
|
|
/**
|
* 获取当月开始时间
|
*/
|
public static Date getMonthStartTime() {
|
Calendar calendar = Calendar.getInstance();// 获取当前日期
|
calendar.add(Calendar.YEAR, 0);
|
calendar.add(Calendar.MONTH, 0);
|
calendar.set(Calendar.DAY_OF_MONTH, 1);// 设置为1号,当前日期既为本月第一天
|
calendar.set(Calendar.HOUR_OF_DAY, 0);
|
calendar.set(Calendar.MINUTE, 0);
|
calendar.set(Calendar.SECOND, 0);
|
calendar.set(Calendar.MILLISECOND, 0);
|
return calendar.getTime();
|
}
|
|
/**
|
* 获取当月的结束时间戳
|
*/
|
public static Date getMonthEndTime() {
|
Calendar calendar = Calendar.getInstance();// 获取当前日期
|
calendar.add(Calendar.YEAR, 0);
|
calendar.add(Calendar.MONTH, 0);
|
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));// 获取当前月最后一天
|
calendar.set(Calendar.HOUR_OF_DAY, 23);
|
calendar.set(Calendar.MINUTE, 59);
|
calendar.set(Calendar.SECOND, 59);
|
calendar.set(Calendar.MILLISECOND, 999);
|
return calendar.getTime();
|
}
|
|
public static void main(String[] args) throws ParseException {
|
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
//System.out.println(sdf.format(getDateLessMonth(15)));
|
//System.out.println(getYearMoneyDay4("2021-09-02","08:00:00"));
|
System.out.println(getFirstTimeByDate());
|
}
|
|
//获取参考日期的上n个月的数据
|
public static Date getDateLessMonth(int i) {
|
Calendar calendar = Calendar.getInstance();// 获取当前日期
|
calendar.add(Calendar.DAY_OF_MONTH, -i);// 设置为1号,当前日期既为本月第一天
|
return calendar.getTime();
|
}
|
|
public static String getYearMoneyDay(){
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
return sdf.format(new Date());
|
}
|
|
public static String getYearMoneyDay2(){
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
Calendar rightNow = Calendar.getInstance();
|
rightNow.add(Calendar.DATE,1);
|
return sdf.format(rightNow.getTime());
|
}
|
|
public static String getYearMoneyDay3(String format) throws ParseException {
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
Date parse = sdf.parse(format);
|
|
Calendar rightNow = Calendar.getInstance();
|
rightNow.setTime(parse);
|
rightNow.add(Calendar.DATE,1);
|
return sdf.format(rightNow.getTime());
|
}
|
|
public static Date getYearMoneyDay4(String a,String b) throws ParseException {
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
Date parse = sdf.parse(getYearMoneyDay3(a)+" "+b);
|
return parse;
|
}
|
|
}
|