您好,登錄后才能下訂單哦!
本文章向大家介紹如何在java中使用DateUtils工具類對時間進行轉換,主要包括如何在java中使用DateUtils工具類對時間進行轉換的使用實例、應用技巧、基本知識點總結和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。
Java是一門面向對象編程語言,可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序。
具體內容如下
import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; /** * 時間日期工具類 * * @author wul * 2015-12-31 */ public class DateUtil { public static final String DATE_NORMAL_FORMAT = "yyyy-MM-dd"; public static final String DATETIME_NORMAL_FORMAT = "yyyy-MM-dd HH:mm:ss"; public static final String DATE_COMPACT_FORMAT = "yyyyMMdd"; public static final String DATETIME_COMPACT_FORMAT = "yyyyMMddHHmmss"; public static final String YM_NORMAL_FORMAT = "yyyy-MM"; public static final String YM_COMPACT_FORMAT = "yyyyMM"; /** * String轉Timestamp * @param dateStr * @return * @author wul * 2016-1-17 */ public static Timestamp stringToTimestamp(String dateStr) { try { if(dateStr.length() <= 10) { dateStr += " 00:00:00"; } return Timestamp.valueOf(dateStr); } catch (Exception e) { e.printStackTrace(); return null; } } /** * String轉Date * @param dateStr * @param format * @return * @author wul * 2016-1-17 */ public static Date stringToDate(String dateStr, String format) { if(dateStr == null || "".equals(dateStr)){ return null; } Date date = null; //注意format的格式要與日期String的格式相匹配 SimpleDateFormat sdf = new SimpleDateFormat(format); try { date = sdf.parse(dateStr); } catch (Exception e) { e.printStackTrace(); } return date; } /** * Date轉String * @param date * @param format * @return * @author wul * 2016-1-17 */ public static String dateToString(Date date, String format) { SimpleDateFormat sdf = new SimpleDateFormat(format); String currentDate = sdf.format(date); return currentDate; } /** * Date轉Timestamp * @param date * @return * @author wul * 2016-1-17 */ public static Timestamp dateToTimestamp(Date date) { Timestamp ts = new Timestamp(date.getTime()); return ts; } /** * Timestamp轉String * @param ts * @return * @author wul * 2016-1-17 */ public static String timestampToString(Timestamp ts) { String tsStr = null; SimpleDateFormat sdf = new SimpleDateFormat(DATETIME_NORMAL_FORMAT); try { tsStr = sdf.format(ts); } catch (Exception e) { e.printStackTrace(); } return tsStr; } /** * Timestamp轉Date * @param ts * @return * @author wul * 2016-1-17 */ public static Date timestampToDate(Timestamp ts) { return ts; } /** * 獲得當前時間并格式化:yyyy-MM-dd HH:mm:ss * @return */ public static String getCurrentTimeNormal() { SimpleDateFormat sdf = new SimpleDateFormat(DATETIME_NORMAL_FORMAT); String currentDate = sdf.format(new Date()); return currentDate; } /** * 獲得當前時間并格式化:yyyyMMddHHmmss * @return */ public static String getCurrentTimeCompact() { SimpleDateFormat sdf = new SimpleDateFormat(DATETIME_COMPACT_FORMAT); String currentDate = sdf.format(new Date()); return currentDate; } /** * 獲得當前時間并格式化:yyyy-MM-dd * @return */ public static String getCurrentDateNormal() { SimpleDateFormat sdf = new SimpleDateFormat(DATE_NORMAL_FORMAT); String currentDate = sdf.format(new Date()); return currentDate; } /** * 獲得當前時間并格式化:yyyyMMdd * @return */ public static String getCurrentDateCompact() { SimpleDateFormat sdf = new SimpleDateFormat(DATE_COMPACT_FORMAT); String currentDate = sdf.format(new Date()); return currentDate; } /** * 將20101202時間格式化為2010-12-02 * * @param DateString 時間格式:yyyyMMdd * @return */ public static String getDateCompactToNormal(String DateString){ StringBuilder sb = new StringBuilder(); sb.append(DateString.substring(0,4)).append("-").append(DateString.subSequence(4, 6)).append("-").append(DateString.substring(6, 8)); return sb.toString(); } /** * 將20101202101423時間格式化為2010-12-02 10:14:23 * * @param DateString 時間格式:yyyyMMddHHmmss * @return */ public static String getDateTimeCompactToNormal(String DateString){ StringBuilder sb = new StringBuilder(); sb.append(DateString.substring(0,4)).append("-").append(DateString.subSequence(4, 6)).append("-").append(DateString.substring(6, 8)) .append(" ").append(DateString.substring(8, 10)).append(":").append(DateString.substring(10, 12)).append(":").append(DateString.substring(12)); return sb.toString(); } /** * 把界面輸入的時間轉為間湊的時間字符串 * 將2010-12-02 10:14:23時間格式化為20101202101423 * @param dateNormalStr String * @return String */ public static String getCompactString(String dateNormalStr) { StringBuffer ret = new StringBuffer(); try { ret.append(dateNormalStr.substring(0, 4)); ret.append(dateNormalStr.substring(5, 7)); ret.append(dateNormalStr.substring(8, 10)); ret.append(dateNormalStr.substring(11, 13)); ret.append(dateNormalStr.substring(14, 16)); ret.append(dateNormalStr.substring(17, 19)); } catch (Exception ex) { // 如果字串不夠長度,則返回前面的部分 } return ret.toString(); } /** * 將20101202(101423)時間格式 獲得年份 * @param DateString 時間格式:yyyyMMdd(HHmmss) * @return */ public static String getYear(String DateString){ return DateString.substring(0,4); } /** * 將20101202(101423)時間格式 獲得月份 * @param DateString 時間格式:yyyyMMdd(HHmmss) * @return */ public static String getMonth(String DateString){ return DateString.substring(4,6); } /** * 將20101202時間格式 獲得日期 * @param DateString 時間格式:yyyyMMdd * @return */ public static String getDayNoTime(String DateString){ return DateString.substring(6); } /** * 獲取當前日期之前的日期,按天數向前推 * @param numVal * @param dateFormat * @return * @author wul * 2016-1-17 */ public static String getBeforeDatePlusDay(int numVal, String dateFormat) { Calendar calendar = Calendar.getInstance(); long currentTimeMillis = calendar.getTimeInMillis(); long hourInMillis = 60 * 60 * 1000; long dVal = numVal * 24 * hourInMillis; SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); String currentDate = sdf.format(currentTimeMillis - dVal); return currentDate; } /** * 獲取當前日期之前的日期,按天數向前推 * @param numVal * @param dateFormat * @return * @author wul * 2016-1-17 */ public static String getAfterDatePlusDay(int numVal, String dateFormat) { Calendar calendar = Calendar.getInstance(); long currentTimeMillis = calendar.getTimeInMillis(); long hourInMillis = 60 * 60 * 1000; long dVal = numVal * 24 * hourInMillis; SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); String currentDate = sdf.format(currentTimeMillis + dVal); return currentDate; } /** * 獲取當前日期之前的日期,按小時向前推 * @param numVal * @param dateFormat * @return * @author wul * 2016-1-17 */ public static String getBeforeDatePlusHour(int numVal, String dateFormat) { Calendar calendar = Calendar.getInstance(); long currentTimeMillis = calendar.getTimeInMillis(); long hourInMillis = 60 * 60 * 1000; long dVal = numVal * hourInMillis; SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); String currentDate = sdf.format(currentTimeMillis - dVal); return currentDate; } /** * 獲取當前日期之前的日期,按小時向前推 * @param numVal * @param dateFormat * @return * @author wul * 2016-1-17 */ public static String getAfterDatePlusHour(int numVal, String dateFormat) { Calendar calendar = Calendar.getInstance(); long currentTimeMillis = calendar.getTimeInMillis(); long hourInMillis = 60 * 60 * 1000; long dVal = numVal * hourInMillis; SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); String currentDate = sdf.format(currentTimeMillis + dVal); return currentDate; } /** * 兩個日期相差天數 * @param beginDate * @param endDate * @return * @author wul * 2016-1-18 */ public static int daysBetween(Date beginDate, Date endDate) { Calendar cal = Calendar.getInstance(); cal.setTime(beginDate); long time1 = cal.getTimeInMillis(); cal.setTime(endDate); long time2 = cal.getTimeInMillis(); long between_days = (time2 - time1) / (1000 * 3600 * 24); return Integer.parseInt(String.valueOf(between_days)); } /** * 獲取某月天數 * @param year * @param month * @return * @author wul * 2016-1-18 */ public static int getMonthdays(int year, int month) { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month - 1); return cal.getActualMaximum(Calendar.DATE); } /** * 給時間加減年份 * @param date * @param plusTime * @return * @author wul * 2016-1-18 */ public static Date getDatePlusYear(Date date, int plusTime) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.YEAR, plusTime); Date d = cal.getTime(); return d; } /** * 給時間加減月份 * @param date * @param plusTime * @return * @author wul * 2016-1-18 */ public static Date getDatePlusMonth(Date date, int plusTime) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MONTH, plusTime); Date d = cal.getTime(); return d; } /** * 給時間加減天數 * @param date * @param plusTime * @return * @author wul * 2016-1-18 */ public static Date getDatePlusDay(Date date, int plusTime) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.DATE, plusTime); Date d = cal.getTime(); return d; } /** * 給時間加減小時 * @param date * @param plusTime * @return * @author wul * 2016-1-18 */ public static Date getDatePlusHour(Date date, int plusTime) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.HOUR, plusTime); Date d = cal.getTime(); return d; } /** * 給時間加減分鐘 * @param date * @param plusTime * @return * @author wul * 2016-1-18 */ public static Date getDatePlusMinute(Date date, int plusTime) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MINUTE, plusTime); Date d = cal.getTime(); return d; } /** * 給時間加減秒 * @param date * @param plusTime * @return * @author wul * 2016-1-18 */ public static Date getDatePlusSecond(Date date, int plusTime) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.SECOND, plusTime); Date d = cal.getTime(); return d; } /** * 返回當前年 * @return * @author wul * 2016-1-18 */ public static int getCurrentYear() { Calendar calendar = Calendar.getInstance(); return calendar.get(1); } /** * 返回當前月 * @return * @author wul * 2016-1-18 */ public static int getCurrentMonth() { Calendar calendar = Calendar.getInstance(); return calendar.get(2) + 1; } /** * 返回當前天 * @return * @author wul * 2016-1-18 */ public static int getCurrentDay() { Calendar calendar = Calendar.getInstance(); return calendar.get(5); } /** * 返回當前小時 * @return * @author wul * 2016-1-18 */ public static int getCurrentHour() { Calendar calendar = Calendar.getInstance(); return calendar.get(11); } /** * 返回當前分鐘 * @return * @author wul * 2016-1-18 */ public static int getCurrentMinute() { Calendar calendar = Calendar.getInstance(); return calendar.get(12); } /** * 返回當前秒 * @return * @author wul * 2016-1-18 */ public static int getCurrentSecond() { Calendar calendar = Calendar.getInstance(); return calendar.get(13); } /** * 返回當前年 * @return * @author wul * 2016-1-18 */ public static int getYear(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(1); } /** * 返回當前月 * @return * @author wul * 2016-1-18 */ public static int getMonth(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(2) + 1; } /** * 返回當前天 * @return * @author wul * 2016-1-18 */ public static int getDay(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(5); } /** * 返回當前小時 * @return * @author wul * 2016-1-18 */ public static int getHour(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(11); } /** * 返回當前分鐘 * @return * @author wul * 2016-1-18 */ public static int getMinute(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(12); } /** * 返回當前秒 * @return * @author wul * 2016-1-18 */ public static int getSecond(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(13); } public static void main(String[] args) { System.out.println(DateUtil.dateToString(new java.sql.Date(System.currentTimeMillis()), DateUtil.DATE_NORMAL_FORMAT)); Map<String,Object> map = new HashMap<String,Object>(); map.put("date", new Date()); String json = JSONObject.fromObject(map).toString(); System.out.println(json); } }
到此這篇關于如何在java中使用DateUtils工具類對時間進行轉換的文章就介紹到這了,更多相關的內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。