1.获取当天日期
/**
*
* 获取当天日期
*/
public static void main(String[] args) {
/*
*calendar.add函数的第二个参数如果是负表示当天之前,如果是正表示当天之后
*calendar.add(calendar.DATE, -1)//昨天的日期
*calendar.add(calendar.DATE, -2)//前天的日期
*calendar.add(calendar.DATE, 1)//明天的日期
*calendar.add(calendar.DATE, 2)//后天的日期
*/
Date date=new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(calendar.DATE, 0);//如果把0修改为-1就代表昨天
date = calendar.getTime();
SimpleDateFormat format= new SimpleDateFormat("yyyy-MM-dd");
String dateString = format.format(date);
System.out.println(dateString);
}
package com.xiaoai.util;
import java.util.TimerTask;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class timerTaskUtil {
/*
* 定时器(每天固定时间执行一次任务)
*/
// public static void showTdggTimer() {
// TimerTask task = new TimerTask() {
// @Override
// public void run() {
//
// }
// };
//
// // 设置执行时间
// Calendar calendar = Calendar.getInstance();
// int year = calendar.get(Calendar.YEAR);
// int month = calendar.get(Calendar.MONTH);
// int day = calendar.get(Calendar.DAY_OF_MONTH);// 每天
// // 定制每天固定时间执行,
// calendar.set(year, month, day, 10, 30, 00);
// Date date = calendar.getTime();
// Timer timer = new Timer();
//
// // 每天的date时刻执行task,每隔2秒重复执行
// // int period = 2 * 1000;
// // timer.schedule(task, date, period);
// // 每天的date时刻执行task, 仅执行一次
// timer.schedule(task, date);
// }
/**
* 获取当前系统时间
*
* @return
*/
public static String getDate() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
String date = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳
return date;
}
/**
* 获取当前系统日期
*
* @return
*/
public static String getDay() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");// 设置日期格式
String date = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳
return date;
}
/**
* 字符串转时间
* @param strDate
* @return
*/
public static Date changeTime(String strDate) {
//注意:SimpleDateFormat构造函数的样式与strDate的样式必须相符
SimpleDateFormat sDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //加上时间
//必须捕获异常
try {
Date dateTime = sDateFormat.parse(strDate);
return dateTime;
} catch(ParseException px) {
px.printStackTrace();
return null;
}
}
/**
* Description: 判断一个时间是否在一个时间段内
*
* @param nowTime 当前时间
* @param beginTime 开始时间
* @param endTime 结束时间
*/
public static boolean booCalendar(Date nowTime, Date beginTime, Date endTime) {
Calendar date = Calendar.getInstance();
date.setTime(nowTime);
Calendar begin = Calendar.getInstance();
begin.setTime(beginTime);
Calendar end = Calendar.getInstance();
end.setTime(endTime);
return date.after(begin) && date.before(end);
}
/**
* 判断该事件是否是当天时间
* @param date
* @return
*/
public static boolean isToday(Date date){
SimpleDateFormat fmt=new SimpleDateFormat("yyyy-MM-dd");
if(fmt.format(date).toString().equals(fmt.format(new Date()).toString())){//格式化为相同格式
return true;
}else {
return false;
}
}
/**
* 获取未来 第 past 天的日期
*
* @param past
* @return
*/
public static String getFetureDate(int past) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + past);
Date today = calendar.getTime();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String result = format.format(today);
return result;
}
/**
* 获取当天日期
* @return
*/
public static String getDateNoTime(int days) {
/*
* calendar.add函数的第二个参数如果是负表示当天之前,如果是正表示当天之后 calendar.add(calendar.DATE,
* -1)//昨天的日期 calendar.add(calendar.DATE, -2)//前天的日期
* calendar.add(calendar.DATE, 1)//明天的日期 calendar.add(calendar.DATE,
* 2)//后天的日期
*/
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(calendar.DATE, days);//days为0表示当天,如果把0修改为-1就代表昨天
date = calendar.getTime();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String dateString = format.format(date);
return dateString;
}
/**
* 通过时间秒毫秒数判断两个时间的间隔
*
* @param date1
* @param date2
* @return
*/
public static int differentDaysByMillisecond(Date date1, Date date2) {
int days = (int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24));
return days;
}
/**
* 判断是否大于3天
*
* @param dateStr
* @return
*/
public static boolean ifDays(String dateStr) {
// 设置日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 获取当前系统时间
String dateStr2 = df.format(new Date());
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date2 = format.parse(dateStr2);
Date date = format.parse(dateStr);
int days = differentDaysByMillisecond(date, date2);
if (days < dataUtil.days) {
return true;
} else {
return false;
}
} catch (ParseException e) {
e.printStackTrace();
return false;
}
}
}