欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

Java編程

當前位置:主頁 > 軟件編程 > Java編程 >

Java編程時間日期API實例解析

來源:本站原創(chuàng)|時間:2020-01-10|欄目:Java編程|點擊: 次

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

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è)置小時
   * @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);
	}
	/**
   * 修改時分秒
   * @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);
	}
	/**
   * 計算相差的天數(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;
	}
	/**
   * 日期時分秒加
   * @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;
	}
	/**
   * 時分秒加減
   * @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);
	}

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

總結(jié)

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

上一篇:Java編程訪問權(quán)限的控制代碼詳解

欄    目:Java編程

下一篇:Java編程基于快速排序的三個算法題實例代碼

本文標題:Java編程時間日期API實例解析

本文地址:http://mengdiqiu.com.cn/a1/Javabiancheng/8364.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有