最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

直接上代碼,總結(jié)了開發(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í)間操作工具類
 */
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)文章

最新評(píng)論

商洛市| 科尔| 襄樊市| 华容县| 常州市| 布拖县| 乌兰察布市| 洱源县| 高阳县| 洮南市| 新泰市| 清苑县| 新化县| 金川县| 葵青区| 博客| 磐石市| 永嘉县| 光泽县| 义马市| 宜春市| 威海市| 嘉定区| 宝山区| 手游| 贵南县| 山西省| 云龙县| 咸丰县| 云和县| 夏河县| 麦盖提县| 怀仁县| 景宁| 柯坪县| 噶尔县| 东山县| 略阳县| 西和县| 榕江县| 沽源县|