国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > Java > 正文

Java編程時(shí)間日期API實(shí)例解析

2024-07-13 10:16:15
字體:
供稿:網(wǎng)友

本文實(shí)例主要是關(guān)于Java8中的新特性,時(shí)間日期api的相關(guān)實(shí)例,具體如下:

package com.effective.common.base.date;import java.time.Instant;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.LocalTime;import java.time.Period;import java.time.ZoneId;import java.time.format.DateTimeFormatter;import java.time.temporal.ChronoUnit;import java.util.Date;/** * 日期工具類 * @author yanweiqi * @since 2016-5-6 * */public class LocalDateUtils {	private static ZoneId zone = ZoneId.systemDefault();	/**   * 字符串轉(zhuǎn)Date   * @param date   * @return   * @throws Exception   */	public static Date convertToDate(String date) throws Exception{		LocalDate localDate = null;		if(null == date){			throw new NullPointerException("date isn't null");		} else {			localDate = LocalDate.parse(date);			return convertToDate(localDate);		}	}	/**   * 字符串轉(zhuǎn)LocalDateTime   * @param date   * @return localDateTime   */	public static LocalDateTime convertToLocalDateTime(String date){		LocalDateTime localDateTime = null;		if(null == date){			throw new NullPointerException("date isn't null");		} else {			localDateTime = LocalDateTime.parse(date);			return localDateTime;		}	}	/**   * LocalDate轉(zhuǎn)Date   * @param localDate   * @return Date   */	public static Date convertToDate(LocalDate localDate){		Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();		return Date.from(instant);	}	/**   * LocalDate轉(zhuǎn)Date   * @param localDateTime   * @return Date   */	public static Date convertToDate(LocalDateTime localDateTime){		Instant instant = localDateTime.atZone(zone).toInstant();		return Date.from(instant);	}	/**   * Date轉(zhuǎn)LocalDate   * @param date   * @return localDate   */	public static LocalDate convertToLocalDate(Date date){		Instant instant = date.toInstant();		return convertToLocalDateTime(instant).toLocalDate();	}	/**   * Date轉(zhuǎn)LocalTime   * @param date   * @return localDate   */	public static LocalTime convertToLocalTime(Date date){		Instant instant = date.toInstant();		return convertToLocalDateTime(instant).toLocalTime();	}	/**   * Date轉(zhuǎn)LocalDatetime   * @param date   * @return localDate   */	public static LocalDateTime convertToLocalDateTime(Date date){		Instant instant = date.toInstant();		return convertToLocalDateTime(instant);	}	/**   * Instant轉(zhuǎn)LocalDateTime   * @param instant   * @return   */	public static LocalDateTime convertToLocalDateTime(Instant instant){		return LocalDateTime.ofInstant(instant, zone);	}	/**   * LocalDateTime轉(zhuǎn)Instant   * @param localDateTime   * @return   */	public static Instant convertToInstant(LocalDateTime localDateTime){		return localDateTime.atZone(zone).toInstant();	}	/**   * LocalDate轉(zhuǎn)Instant   * @param localDate   * @return   */	public static Instant convertToInstant(LocalDate localDate){		return localDate.atStartOfDay(zone).toInstant();	}	/**   * LocalDate轉(zhuǎn)LocalDateTime   * @param localDate   * @return LocalDateTime   */	public static LocalDateTime convertToLocalDateTime(LocalDate localDate){		return localDate.atStartOfDay();	}	/**   * 日周期格式化   * @param localDateTime   * @param formatStyle   * @return   */	public static String formatter(LocalDateTime localDateTime, String formatStyle){		return DateTimeFormatter.ofPattern(formatStyle).format(localDateTime);	}	/**   * 設(shè)置年   * @param sourceDate   * @param year   * @return LocalDateTime   */	public static LocalDateTime setYear(LocalDateTime sourceDate, Integer year){		return sourceDate.withYear(year);	}	/**   * 設(shè)置月   * @param sourceDate   * @param month   * @return LocalDateTime   */	public static LocalDateTime setMonth(LocalDateTime sourceDate, Integer month){		return sourceDate.withMonth(month);	}	/**   * 設(shè)置天   * @param sourceDate   * @param month   * @return LocalDateTime   */	public static LocalDateTime setDayOfMonth(LocalDateTime sourceDate, Integer dayOfMonth){		return sourceDate.withDayOfMonth(dayOfMonth);	}	/**   * 設(shè)置小時(shí)   * @param sourceDate   * @param hour   * @return   */	public static LocalDateTime setHour(LocalDateTime sourceDate,Integer hour){		return sourceDate.withHour(hour);	}	/**   * 設(shè)置分鐘   * @param sourceDate   * @param minute   * @return   */	public static LocalDateTime setMinute(LocalDateTime sourceDate,Integer minute){		return sourceDate.withMinute(minute);	}	/**   * 設(shè)置秒   * @param sourceDate   * @param second   * @return   */	public static LocalDateTime setSecond(LocalDateTime sourceDate,Integer second){		return sourceDate.withSecond(second);	}	/**   * 修改年月日   * @param sourceDate   * @param year   * @param month   * @param dayOfMonth   * @return   */	public static LocalDateTime setYMD(LocalDateTime sourceDate, Integer year, Integer month, Integer dayOfMonth) {		return sourceDate.withYear(year).withMonth(month).withDayOfMonth(dayOfMonth);	}	/**   * 修改時(shí)分秒   * @param sourceDate   * @param hour   * @param minute   * @param second   * @return   */	public static LocalDateTime setHMS(LocalDateTime sourceDate,Integer hour, Integer minute, Integer second) {		return sourceDate.withHour(hour).withMinute(minute).withSecond(second);	}	/**   * 計(jì)算相差的天數(shù)   * @param beginDate   * @param endDate   * @return   */	public static int getInteverDays(LocalDate beginDate,LocalDate endDate){		Period period = Period.between(beginDate, endDate);		return period.getDays();	}	/**   * 日期加減   * @param num 數(shù)量   * @param unit 單位   * @param LocalDate 原日期   * @return LocalDate 增加后的日期   */	@SuppressWarnings("static-access")	  public static LocalDate addLocalDate(long num,ChronoUnit unit,final LocalDate localDate){		LocalDate resultDate;		if(num > 0){			resultDate = localDate.now().plus(num, unit);		} else {			resultDate = localDate.now().minus(Math.abs(num), unit);		}		return resultDate;	}	/**   * 日期時(shí)分秒加   * @param num 數(shù)量   * @param unit 單位   * @param localDateTime 原日期   * @return LocalDateTime 增加后的日期   */	@SuppressWarnings("static-access")	  public static LocalDateTime addLocalDateTime(long num,ChronoUnit unit,LocalDateTime localDateTime){		LocalDateTime resultDateTime;		if(num > 0){			resultDateTime = localDateTime.now().plus(num, unit);		} else {			resultDateTime = localDateTime.now().minus(Math.abs(num),unit);		}		return resultDateTime;	}	/**   * 時(shí)分秒加減   * @param num 數(shù)量   * @param unit 單位   * @param localTime 原日期   * @return LocalDateTime 增加后的日期   */	@SuppressWarnings("static-access")	  public static LocalTime addLocalTime(long num,ChronoUnit unit,LocalTime localTime){		LocalTime resultTime;		if(num > 0){			resultTime = localTime.now().plus(num, unit);		} else {			resultTime = localTime.now().minus(Math.abs(num), unit);		}		return resultTime;	}	public static void main(String[] args){		LocalDateTime time = LocalDateTime.now();		String rr = formatter(time, "yyyy-MM-dd HH:mm:ss");		System.out.println(rr);		LocalDateTime time2 = addLocalDateTime(-2, ChronoUnit.HOURS, time);		String yy = formatter(time2, "yyyy-MM-dd HH:mm:ss");		System.out.println(yy);	}

代碼涉及時(shí)間日期類的使用等內(nèi)容,具有簡(jiǎn)單注釋,大家可自行參考。

總結(jié)

以上就是本文關(guān)于Java編程時(shí)間日期API實(shí)例解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JAVA教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 庆阳市| 天水市| 大英县| 志丹县| 阆中市| 凌源市| 呼和浩特市| 合水县| 沧源| 石首市| 绵竹市| 迭部县| 沂水县| 什邡市| 南昌市| 新乡市| 辉南县| 石楼县| 东莞市| 长沙县| 饶阳县| 瑞丽市| 遂昌县| 易门县| 寿宁县| 仙桃市| 拜城县| 花莲市| 手游| 沛县| 牙克石市| 阜南县| 万安县| 东安县| 额济纳旗| 正镶白旗| 房山区| 洪泽县| 诸城市| 灵山县| 崇州市|