欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java日期時(shí)間格式化操作DateUtils 的整理

 更新時(shí)間:2017年07月31日 10:54:13   投稿:lqh  
這篇文章主要介紹了Java日期時(shí)間格式化操作DateUtils 的整理的相關(guān)資料,這里總結(jié)了java日期格式化的操作,需要的朋友可以參考下

Java日期時(shí)間格式化操作DateUtils 的整理

直接上代碼,總結(jié)了開(kāi)發(fā)過(guò)程中經(jīng)常用到的日期時(shí)間格式化操作!

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:時(shí)間操作工具類(lèi)
 */
public class DateUtils {


  private static final String[] UNIT_DESC = new String[]{"天", "小時(shí)", "分鐘", "秒"};

  /**
   * 獲得當(dāng)前系統(tǒng)時(shí)間,格式為yyyyMMdd
   *
   * @return 格式化后的時(shí)間
   */
  public static String currentYYYYMMDD() {
    return getStrByDate(new Date(), "yyyyMMdd");
  }

  /**
   * 獲得當(dāng)前系統(tǒng)時(shí)間,格式為HHmmss
   *
   * @return 格式化后的時(shí)間
   */
  public static String currentHHMMSS() {
    return getStrByDate(new Date(), "HHmmss");
  }

  /**
   * 獲得當(dāng)前系統(tǒng)時(shí)間,格式為yyyyMMddHHmmss
   *
   * @return 格式化后的時(shí)間
   */
  public static String currentYYYYMMDDHHmmss() {
    return getStrByDate(new Date(), "yyyyMMddHHmmss");
  }

  /**
   * 根據(jù)給定的字符串如:yyyy-MM-dd HH:mm:ss,(必須是這種格式) 返回一個(gè)日期日期形式
   *
   * @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)前時(shí)間
   *
   * @return 當(dāng)前時(shí)間
   */
  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)前時(shí)間
   * @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)前時(shí)間
   * @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)前時(shí)間前三月
   *
   * @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)前時(shí)間前一個(gè)月
   *
   * @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)前時(shí)間前六個(gè)月
   *
   * @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();
  }

  /**
   * 格式化時(shí)間
   *
   * @param date  時(shí)間
   * @param format 格式化模板
   * @return 格式化后的時(shí)間
   */
  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ù)時(shí)間<br/>
   * 將持續(xù)時(shí)間,格式化為 xx天xx小時(shí)xx分鐘xx秒 如果 "xx" 為0 自動(dòng)缺省。
   *
   * @param seconds 持續(xù)時(shí)間,單位(秒)
   * @return 格式化后的字符串
   * @see TimeUnit 時(shí)間單位轉(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ù)時(shí)間
   * 將持續(xù)時(shí)間,格式化為 xx天xx小時(shí)xx分鐘xx秒 如果 "xx" 為0 自動(dòng)缺省。
   *
   * @param seconds 持續(xù)時(shí)間,單位(分鐘)
   * @return 格式化后的字符串
   * @see TimeUnit 時(shí)間單位轉(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)容,如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Java中Calendar類(lèi)用法實(shí)例詳解

    Java中Calendar類(lèi)用法實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Java中Calendar類(lèi)用法的相關(guān)資料,Calendar類(lèi)是Java.util包中提供的一個(gè)抽象類(lèi),該類(lèi)從JDK1.1開(kāi)始出現(xiàn),作為Date類(lèi)的替代方案,Calendar類(lèi)中包含了對(duì)不同國(guó)家地區(qū)日歷的處理,需要的朋友可以參考下
    2023-09-09
  • JAVA設(shè)計(jì)模式之責(zé)任鏈模式詳解

    JAVA設(shè)計(jì)模式之責(zé)任鏈模式詳解

    這篇文章主要介紹了JAVA設(shè)計(jì)模式之責(zé)任鏈模式詳解,需要的朋友可以參考下
    2015-04-04
  • 詳解lombok @Getter @Setter 使用注意事項(xiàng)

    詳解lombok @Getter @Setter 使用注意事項(xiàng)

    這篇文章主要介紹了詳解lombok @Getter @Setter 使用注意事項(xiàng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java模擬服務(wù)器解析web數(shù)據(jù)

    Java模擬服務(wù)器解析web數(shù)據(jù)

    本篇文章主要給大家詳細(xì)分享了搭建JavaWeb服務(wù)器的詳細(xì)步驟以及用到的代碼,對(duì)此有需要的朋友可以跟著學(xué)習(xí)下,希望能給你帶來(lái)幫助
    2021-07-07
  • 詳解Java 集合類(lèi) List 的那些坑

    詳解Java 集合類(lèi) List 的那些坑

    這篇文章主要介紹了Java 集合類(lèi) List 的那些坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java簡(jiǎn)單實(shí)現(xiàn)猜數(shù)字游戲附C語(yǔ)言版本

    Java簡(jiǎn)單實(shí)現(xiàn)猜數(shù)字游戲附C語(yǔ)言版本

    猜數(shù)字是興起于英國(guó)的益智類(lèi)小游戲,起源于20世紀(jì)中期,一般由兩個(gè)人或多人玩,也可以由一個(gè)人和電腦玩。游戲規(guī)則為一方出數(shù)字,一方猜,今天我們來(lái)用Java和C語(yǔ)言分別把這個(gè)小游戲?qū)懗鰜?lái)練練手
    2021-11-11
  • ELK搭建線上日志收集系統(tǒng)

    ELK搭建線上日志收集系統(tǒng)

    ELK日志收集系統(tǒng)進(jìn)階使用,本文主要講解如何打造一個(gè)線上環(huán)境真實(shí)可用的日志收集系統(tǒng),有了它,你就可以和去服務(wù)器上撈日志說(shuō)再見(jiàn)了
    2022-07-07
  • Springboot整合freemarker和相應(yīng)的語(yǔ)法詳解

    Springboot整合freemarker和相應(yīng)的語(yǔ)法詳解

    FreeMarker是一款Spring官方推薦使用的模板引擎。接下來(lái)通過(guò)本文給大家介紹Springboot整合freemarker和相應(yīng)的語(yǔ)法,感興趣的朋友一起看看吧
    2021-09-09
  • JAVA時(shí)間戳-Calendar類(lèi)使用(包括set,get,add方法)

    JAVA時(shí)間戳-Calendar類(lèi)使用(包括set,get,add方法)

    這篇文章主要介紹了JAVA時(shí)間戳-Calendar類(lèi)使用(包括set,get,add方法),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • WebSocket實(shí)現(xiàn)聊天室業(yè)務(wù)

    WebSocket實(shí)現(xiàn)聊天室業(yè)務(wù)

    這篇文章主要為大家詳細(xì)介紹了WebSocket實(shí)現(xiàn)聊天室業(yè)務(wù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08

最新評(píng)論