這篇文章將為大家詳細講解有關(guān)Java中如何對日期時間進行格式化,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
創(chuàng)新互聯(lián)建站致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括網(wǎng)站制作、網(wǎng)站設(shè)計、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)建站為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)建站核心團隊10年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗,為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。
Java格式化日期時間的方法
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.concurrent.TimeUnit; /** * ClassName: DateUtils <br/> * Description:時間操作工具類 */ public class DateUtils { private static final String[] UNIT_DESC = new String[]{"天", "小時", "分鐘", "秒"}; /** * 獲得當(dāng)前系統(tǒng)時間,格式為yyyyMMdd * * @return 格式化后的時間 */ public static String currentYYYYMMDD() { return getStrByDate(new Date(), "yyyyMMdd"); } /** * 獲得當(dāng)前系統(tǒng)時間,格式為HHmmss * * @return 格式化后的時間 */ public static String currentHHMMSS() { return getStrByDate(new Date(), "HHmmss"); } /** * 獲得當(dāng)前系統(tǒng)時間,格式為yyyyMMddHHmmss * * @return 格式化后的時間 */ public static String currentYYYYMMDDHHmmss() { return getStrByDate(new Date(), "yyyyMMddHHmmss"); } /** * 根據(jù)給定的字符串如:yyyy-MM-dd HH:mm:ss,(必須是這種格式) 返回一個日期日期形式 * * @param strDate 要拋析的字符串,且字符串的形式必須:2007-09-10 07:00:00 * @return 將字符串拋析成日期的格式返回 * @throws ParseException 解析 format 字段失敗 */ public static java.util.Date getDateByStr(String strDate, String format) throws ParseException { assert strDate != null && format != null; SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format); return simpleDateFormat.parse(strDate); } /** * 根據(jù)給定的日期,返回給定的字符串, 返回 字符串的形式是:yyyy-MM-dd HH:mm:ss * * @param date 要格式化的日期 * @return 將日期格式化后返回的字符串,以這中格式返回:yyyy-MM-dd HH:mm:ss */ public static String getStrByDate(Date date, String format) { assert date != null && format != null; SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format); return simpleDateFormat.format(date); } /** * 得到當(dāng)前時間 * * @return 當(dāng)前時間 */ public static Date getDayOfMonth() { Calendar now = Calendar.getInstance(); return now.getTime(); } /** * 得到每月第一天 * * @param date 日期 * @return 日期月份的第一天 */ public static Date getFirstDayOfMonth(Date date) { Calendar nowday = Calendar.getInstance(); nowday.setTime(date); nowday.set(Calendar.DATE, 1);// 把日期設(shè)置為當(dāng)月第一天 return nowday.getTime(); } /** * 得到每月最后一天 * * @param date 日期 * @return 日期月份最后一天 */ public static Date getLastDayOfMonth(Date date) { Calendar nowday = Calendar.getInstance(); nowday.setTime(date); nowday.set(Calendar.DATE, 1);// 把日期設(shè)置為當(dāng)月第一天 nowday.roll(Calendar.DATE, -1);// 日期回滾一天,也就是最后一天 return nowday.getTime(); } /** * 獲取當(dāng)前年份 格式:yyyy * * @param date 當(dāng)前時間 * @return year */ public static String getCurrYear(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy"); Date currYear = calendar.getTime(); return String.valueOf(dateFormat.format(currYear)); } /** * 獲取當(dāng)前月份 格式:MM * * @param date 當(dāng)前時間 * @return Date */ public static String getCurrMonth(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); SimpleDateFormat dateFormat = new SimpleDateFormat("MM"); Date currMonth = calendar.getTime(); return String.valueOf(dateFormat.format(currMonth)); } /** * 得到此日期的最后一天 * * @param d 日期 * @return 最后一天 */ public static Date getLastDayByDate(Date d) { Calendar newday = Calendar.getInstance(); newday.setTime(d); int lastday; int month = newday.get(Calendar.MONTH); do { lastday = newday.get(Calendar.DAY_OF_MONTH); newday.add(Calendar.DAY_OF_MONTH, 1); } while (newday.get(Calendar.MONTH) == month); newday.set(Calendar.MONTH, month); newday.set(Calendar.DAY_OF_MONTH, lastday); return newday.getTime(); } /** * 將 yyyyMMdd 的字符竄 轉(zhuǎn)化成 yyyy-MM-dd * * @param dateString yyyyMMdd格式的日期 * @return yyyy-MM-dd格式的日期 * @throws ParseException */ public static String formatyyyyMMdd(String dateString) throws ParseException { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); Date date = simpleDateFormat.parse(dateString); SimpleDateFormat formatStr = new SimpleDateFormat("yyyy-MM-dd"); return formatStr.format(date); } /** * 將 yyyyMMdd 的字符竄 轉(zhuǎn)化成 yyyy-MM-dd HH:mm:ss * * @param dateString * @return * @throws ParseException */ public static String formatyyyyMMddHHmmss(String dateString) throws ParseException { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); Date date = simpleDateFormat.parse(dateString); SimpleDateFormat formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return formatStr.format(date); } /** * 獲取當(dāng)前年份 格式:yyyy * * @return Date */ public static int getCurrYear() { Calendar calendar = Calendar.getInstance(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy"); Date currYearFirst = calendar.getTime(); return Integer.valueOf(dateFormat.format(currYearFirst)); } /** * 獲取當(dāng)前時間前三月 * * @return Date */ public static Date getLastThreeMonths() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH, -3); calendar.add(Calendar.DAY_OF_MONTH, 1); return calendar.getTime(); } /** * 獲取當(dāng)前時間前一個月 * * @return Date */ public static Date getLastOneMonths() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH, -1); calendar.add(Calendar.DAY_OF_MONTH, 1); return calendar.getTime(); } /** * 獲取當(dāng)前時間前六個月 * * @return Date */ public static Date getLastSixMonths() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH, -6); calendar.add(Calendar.DAY_OF_MONTH, 1); return calendar.getTime(); } /** * 獲取某年第一天日期 * * @param year 年份 * @return Date */ public static Date getCurrYearFirst(int year) { Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(Calendar.YEAR, year); return calendar.getTime(); } /** * 獲取某年最后一天日期 * * @param year 年份 * @return Date */ public static Date getCurrYearLast(int year) { Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(Calendar.YEAR, year); calendar.roll(Calendar.DAY_OF_YEAR, -1); return calendar.getTime(); } /** * 格式化時間 * * @param date 時間 * @param format 格式化模板 * @return 格式化后的時間 */ public static String date2Str(Date date, String format) { return getStrByDate(date, format); } /** * 獲得指定日期的前一天 yyyy-MM-dd * @param date * @return */ public static String getSpecifiedDayBefore(Date date, String dateFormat){ if (date == null) return null; Calendar c = Calendar.getInstance(); c.setTime(date); int day=c.get(Calendar.DATE); c.set(Calendar.DATE,day-1); String dayBefore=new SimpleDateFormat(dateFormat).format(c.getTime()); return dayBefore; } /** * 獲得指定日期的后一天 yyyy-MM-dd * * @param date * @return */ public static String getSpecifiedDayAfter(Date date, String dateFormat) { if (date == null) return null; Calendar c = Calendar.getInstance(); c.setTime(date); int day = c.get(Calendar.DATE); c.set(Calendar.DATE, day + 1); String dayAfter = new SimpleDateFormat(dateFormat).format(c.getTime()); return dayAfter; } /** * 格式化持續(xù)時間<br/> * 將持續(xù)時間,格式化為 xx天xx小時xx分鐘xx秒 如果 "xx" 為0 自動缺省。 * * @param seconds 持續(xù)時間,單位(秒) * @return 格式化后的字符串 * @see TimeUnit 時間單位轉(zhuǎn)換工具 * @since 1.5 */ public static String convertSeconds2Str(long seconds) { StringBuilder sb = new StringBuilder(); long[] date = {TimeUnit.SECONDS.toDays(seconds), TimeUnit.SECONDS.toHours(seconds) % 24, TimeUnit.SECONDS.toMinutes(seconds) % 60, TimeUnit.SECONDS.toSeconds(seconds) % 60}; for (int i = 0; i < date.length; i++) { long l = date[i]; if (l > 0) sb.append(l).append(UNIT_DESC[i]); } return sb.toString(); } /** * 格式化持續(xù)時間 * 將持續(xù)時間,格式化為 xx天xx小時xx分鐘xx秒 如果 "xx" 為0 自動缺省。 * * @param seconds 持續(xù)時間,單位(分鐘) * @return 格式化后的字符串 * @see TimeUnit 時間單位轉(zhuǎn)換工具 * @since 1.5 */ public static String convertMinute2Str(long minute) { StringBuilder sb = new StringBuilder(); long[] date = {TimeUnit.SECONDS.toHours(minute) % 24,TimeUnit.SECONDS.toMinutes(minute) % 60, TimeUnit.SECONDS.toSeconds(minute) % 60}; for (int i = 0; i < date.length; i++) { long l = date[i]; if (l > 0) sb.append(l).append(UNIT_DESC[i]); } return sb.toString(); } }
關(guān)于Java中如何對日期時間進行格式化就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網(wǎng)站名稱:Java中如何對日期時間進行格式化
URL地址:http://chinadenli.net/article24/ghodce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、自適應(yīng)網(wǎng)站、品牌網(wǎng)站設(shè)計、服務(wù)器托管、外貿(mào)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)