/**
* 日期工具类
*
*/
public class DateTool {
public static SimpleDateFormat sf = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
/**
* 根据字符串返回日期yyyy-MM-dd HH:mm:ss
*
* @param s
* @return
*/
public static Date getDateFromString(String s) {
Date d = null;
try {
d = sf.parse(s);
} catch (Exception e) {
e.printStackTrace();
}
return d;
}
/**
* 返回指定时间年月日时分秒
*
* @param date
* @return
*/
public static String getDateTime(Date date) {
String dateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(date);
return dateTime;
}
/**
* 获取指定时间时分秒
*
* @param date
* @return
*/
public static String getTime(Date date) {
String dateTime = new SimpleDateFormat("HH:mm:ss").format(date);
return dateTime;
}
/**
* 获取指定日期年月日
*
* @param date
* @return
*/
public static String getDate(Date date) {
String dateTime = new SimpleDateFormat("yyyy-MM-dd").format(date);
return dateTime;
}
/**
* 指定时间(分钟)后时间(时分秒)
*
* @param minute
* @return
*/
public static Date addAppointedDate(Date d, int minute) {
long oldTime = d.getTime();
long newTime = oldTime + 1000 * 60 * minute;
return new Date(newTime);
}
/**
* 返回一个时间(指定范围内,5分钟一个09:00-16
*
* @return
*/
public static String getExcuteTime() {
String time = "";
Date now = new Date();
Date begin = null;
Date end = null;
Date begin1 = null;
Date end1 = null;
List<String> times = new ArrayList<String>();
try {
begin = sf.parse(getDate(now) + " 09:00:00");
end = sf.parse(getDate(now) + " 11:30:00");
begin1 = sf.parse(getDate(now) + " 15:00:00");
end1 = sf.parse(getDate(now) + " 17:30:00");
for (int i = 0; i < 25; i++) {
times.add(getTime(addAppointedDate(begin, i * 6)));
}
for (int i = 0; i < 25; i++) {
times.add(getTime(addAppointedDate(begin1, i * 6)));
}
} catch (Exception e) {
e.printStackTrace();
}
// for(String s:times){
// System.out.println(s);
// }
time = times.get((int) (times.size() * Math.random()));
return time;
}
/**
* d1日期与d2日期相差的天数
*
* @param d1
* @param d2
* @return
*/
public static double dateSubtract(Date d1, Date d2) {
double length = d1.getTime() - d2.getTime();
double kd = 1000 * 60 * 60 * 24;
double d =Math.abs(length / kd);
try {
// NumberFormat format = NumberFormat.getNumberInstance();
// format.setMaximumFractionDigits(2);
// System.out.println(format.format(d));
// d = Double.parseDouble(format.format(d));
} catch (Exception e) {
e.printStackTrace();
}
return d;
}
public static void main(String[] args) {
double real = dateSubtract(getDateFromString("2010-04-30 19:30:23"),
getDateFromString("2012-05-02 04:15:34"));
System.out.println(real);
}
}
DateTool日期工具类
最新推荐文章于 2024-08-15 09:28:20 发布