import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtils {
public static final SimpleDateFormat TIME_FORMAT =
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static final SimpleDateFormat DATE_FORMAT =
new SimpleDateFormat("yyyy-MM-dd");
public static boolean before(String time1, String time2) {
try {
Date dateTime1 = TIME_FORMAT.parse(time1);
Date dateTime2 = TIME_FORMAT.parse(time2);
if(dateTime1.before(dateTime2)) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
public static boolean after(String time1, String time2) {
try {
Date dateTime1 = TIME_FORMAT.parse(time1);
Date dateTime2 = TIME_FORMAT.parse(time2);
if(dateTime1.after(dateTime2)) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
public static int minus(String time1, String time2) {
try {
Date datetime1 = TIME_FORMAT.parse(time1);
Date datetime2 = TIME_FORMAT.parse(time2);
long millisecond = datetime1.getTime() - datetime2.getTime();
return Integer.valueOf(String.valueOf(millisecond / 1000));
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
public static String getDateHour(String datetime) {
String date = datetime.split(" ")[0];
String hourMinuteSecond = datetime.split(" ")[1];
String hour = hourMinuteSecond.split(":")[0];
return date + "_" + hour;
}
public static String getTodayDate() {
return DATE_FORMAT.format(new Date());
}
public static String getYesterdayDate() {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.DAY_OF_YEAR, -1);
Date date = cal.getTime();
return DATE_FORMAT.format(date);
}
public static String formatDate(Date date) {
return DATE_FORMAT.format(date);
}
public static String formatTime(Date date) {
return TIME_FORMAT.format(date);
}
}
获取某个月第一天的00:00:00
public static void main(String[] args) {
Date data = null;
try {
data = new SimpleDateFormat("yyyy-MM").parse("2020-6");
} catch (ParseException e) {
e.printStackTrace();
}
Calendar c = Calendar.getInstance();
c.setTime(data);
//设置为1号,当前日期既为本月第一天
c.set(Calendar.DAY_OF_MONTH, 1);
//将小时至0
c.set(Calendar.HOUR_OF_DAY, 0);
//将分钟至0
c.set(Calendar.MINUTE, 0);
//将秒至0
c.set(Calendar.SECOND,0);
//将毫秒至0
c.set(Calendar.MILLISECOND, 0);
// 本月第一天的时间戳转换为字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date;
try {
date = sdf.parse(sdf.format(new Date(new Long(c.getTimeInMillis()))));
//Date date = sdf.parse(sdf.format(new Long(s)));// 等价于
System.out.println( sdf.format(date));
} catch (NumberFormatException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (ParseException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
public static void main(String[] args) {
Calendar calendar = new GregorianCalendar();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
System.out.println(df.format(date));
calendar.setTime(date);
calendar.add(GregorianCalendar.YEAR, 1);//把日期往后增加一年.整数往后推,负数往前移动
calendar.add(GregorianCalendar.DAY_OF_MONTH, 1);//把日期往后增加一个月.整数往后推,负数往前移动
calendar.add(GregorianCalendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动
calendar.add(GregorianCalendar.WEEK_OF_MONTH, 1);//把日往后增加一个周.整数往后推,负数往前移动
date=calendar.getTime(); //结果
System.out.println(df.format(date));
}