package com.yu.excel;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* 鏃堕棿鎿嶄綔宸ュ叿绫?
*
* @author HuangXinyu
*
* @version 鍒涘缓鏃堕棿锛?013-11-29 涓嬪崍3:41:11
*
*/
public class DateUtil{
/**
* @param dateStr 闇?杞崲鐨勫瓧绗︿覆
* @param formatStr 闇?鏍煎紡鐨勭洰鏍囧瓧绗︿覆 涓句緥 yyyy-MM-dd hh:mm:ss
* @return Date 杩斿洖杞崲鍚庣殑鏃堕棿
* @throws ParseException 杞崲寮傚父
*/
public static Date StringToDate(String dateStr){
DateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date=null;
try {
date = sdf.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
/**
* 鍔熻兘: 灏嗕紶鍏ョ殑瀛楃涓叉寜yyyy-MM-dd鏍煎紡杞崲鎴愬搴旂殑鏃ユ湡瀵硅薄
*
* @param str 闇?杞崲鐨勫瓧绗︿覆
* @param i 鍙互浼犱竴涓猲ull
* @return Date 杩斿洖鍊?
*/
public static Date StringToDate(String str,Integer i) {
String _pattern = "yyyy-MM-dd";
return StringToDate(str, _pattern);
}
/**
* 鑾峰彇褰撳墠鏃堕棿锛?杈撳叆涓?釜浣犳兂瑕佺殑鏃堕棿鏍煎紡锛氬(yyyy-MM-dd hh:mm:ss);
*
* @param formatDate
* @return
*/
public static String createDate(String formatDate){
String date = new String();
SimpleDateFormat format = new SimpleDateFormat(formatDate);
date = format.format(new java.util.Date()).toString();
return date;
}
/**
* 鑾峰彇褰撳墠鏃堕棿锛岄粯璁ゆ牸寮忎负yyyy-MM-dd hh:mm:ss
*
* @param formatDate
* @return
*/
public static String createDate(){
String date = new String();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
date = format.format(new java.util.Date()).toString();
return date;
}
/**
* 鑾峰彇褰撳墠鏃堕棿yyyy-MM-dd hh:mm:ss
*
* @return
*/
public static Date StringToDate(){
Date date=StringToDate(createDate("yyyy-MM-dd hh:mm:ss"));
return date;
}
/**
* 鍔熻兘: 灏嗘棩鏈熷璞℃寜鐓ф煇绉嶆牸寮忚繘琛岃浆鎹紝杩斿洖杞崲鍚庣殑瀛楃涓?
*
* @param date 鏃ユ湡瀵硅薄
* @param pattern 杞崲鏍煎紡 渚嬶細yyyy-MM-dd
*/
public static String DateToString(Date date, String pattern) {
String strDateTime = null;
SimpleDateFormat formater = new SimpleDateFormat(pattern);
strDateTime = date == null ? null : formater.format(date);
return strDateTime;
}
/**
* 鍔熻兘: 灏嗕紶鍏ョ殑鏃ユ湡瀵硅薄鎸夌収yyyy-MM-dd鏍煎紡杞崲鎴愬瓧绗︿覆杩斿洖
*
* @param date 鏃ユ湡瀵硅薄
* @return String
*/
public static String DateToString(Date date) {
String _pattern = "yyyy-MM-dd";
return date == null ? null : DateToString(date, _pattern);
}
/**
* 鍔熻兘: 灏嗕紶鍏ョ殑鏃ユ湡瀵硅薄鎸夌収yyyy-MM-dd HH:mm:ss鏍煎紡杞崲鎴愬瓧绗︿覆杩斿洖
*
* @param date 鏃ユ湡瀵硅薄
* @return String
*/
public static String DateTimeToString(Date date) {
String _pattern = "yyyy-MM-dd HH:mm:ss";
return date == null ? null : DateToString(date, _pattern);
}
/**
* 鍔熻兘: 灏嗘彃鍏ョ殑瀛楃涓叉寜鏍煎紡杞崲鎴愬搴旂殑鏃ユ湡瀵硅薄
*
* @param str 瀛楃涓?
* @param pattern 鏍煎紡
* @return Date
*/
public static Date StringToDate(String str, String pattern) {
Date dateTime = null;
try {
if (str != null && !str.equals("")) {
SimpleDateFormat formater = new SimpleDateFormat(pattern);
dateTime = formater.parse(str);
}
} catch (Exception ex) {
}
return dateTime;
}
/**
* 鍔熻兘: 灏嗕紶鍏ョ殑瀛楃涓叉寜yyyy-MM-dd HH:mm:ss鏍煎紡杞崲鎴愬搴旂殑鏃ユ湡瀵硅薄
*
* @param str 闇?杞崲鐨勫瓧绗︿覆
* @return Date
*/
public static Date StringToDateTime(String str) {
String _pattern = "yyyy-MM-dd HH:mm:ss";
return StringToDate(str, _pattern);
}
/**
* 鍔熻兘: 灏嗕紶鍏ョ殑瀛楃涓茶浆鎹㈡垚瀵瑰簲鐨凾imestamp瀵硅薄
*
* @param str 寰呰浆鎹㈢殑瀛楃涓?
* @return Timestamp 杞崲涔嬪悗鐨勫璞?
* @throws Exception
* Timestamp
*/
public static Timestamp StringToDateHMS(String str) throws Exception {
Timestamp time = null;
time = Timestamp.valueOf(str);
return time;
}
/**
* 鍔熻兘: 鏍规嵁浼犲叆鐨勫勾鏈堟棩杩斿洖鐩稿簲鐨勬棩鏈熷璞?
*
* @param year 骞翠唤
* @param month 鏈堜唤
* @param day 澶?
* @return Date 鏃ユ湡瀵硅薄
*/
public static Date YmdToDate(int year, int month, int day) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, day);
return calendar.getTime();
}
/**
* 鍔熻兘: 灏嗘棩鏈熷璞℃寜鐓M/dd HH:mm:ss鐨勬牸寮忚繘琛岃浆鎹紝杩斿洖杞崲鍚庣殑瀛楃涓?
*
* @param date 鏃ユ湡瀵硅薄
* @return String 杩斿洖鍊?
*/
public static String communityDateToString(Date date) {
SimpleDateFormat formater = new SimpleDateFormat("MM/dd HH:mm:ss");
String strDateTime = date == null ? null : formater.format(date);
return strDateTime;
}
public static Date getMaxDateOfDay(Date date) {
if (date == null) {
return null;
} else {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(11, calendar.getActualMaximum(11));
calendar.set(12, calendar.getActualMaximum(12));
calendar.set(13, calendar.getActualMaximum(13));
calendar.set(14, calendar.getActualMaximum(14));
return calendar.getTime();
}
}
public static Date getMinDateOfDay(Date date) {
if (date == null) {
return null;
} else {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(11, calendar.getActualMinimum(11));
calendar.set(12, calendar.getActualMinimum(12));
calendar.set(13, calendar.getActualMinimum(13));
calendar.set(14, calendar.getActualMinimum(14));
return calendar.getTime();
}
}
/**
* 鍔熻兘锛氳繑鍥炰紶鍏ユ棩鏈熷璞★紙date锛変箣鍚巃fterDays澶╂暟鐨勬棩鏈熷璞?
*
* @param date 鏃ユ湡瀵硅薄
* @param afterDays 寰?悗澶╂暟
* @return java.util.Date 杩斿洖鍊?
*/
public static Date getAfterDay(Date date, int afterDays) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, 1);
return cal.getTime();
}
// day
/**
* 鍔熻兘: 杩斿洖date1涓巇ate2鐩稿樊鐨勫ぉ鏁?
*
* @param date1
* @param date2
* @return int
*/
public static int DateDiff(Date date1, Date date2) {
int i = (int) ((date1.getTime() - date2.getTime()) / 3600 / 24 / 1000);
return i;
}
// min
/**
* 鍔熻兘: 杩斿洖date1涓巇ate2鐩稿樊鐨勫垎閽熸暟
*
* @param date1
* @param date2
* @return int
*/
public static int MinDiff(Date date1, Date date2) {
int i = (int) ((date1.getTime() - date2.getTime()) / 1000 / 60);
return i;
}
// second
/**
* 鍔�