The examples in this article are mainly about new features in Java 8 and related examples of time and date API, as follows:
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.LocalTime;import java.time.Period;import java.time.ZoneId;import java.time.format.DateTimeFormatter;import java.time.temporal.ChronoUnit;import java.util.Date;/** * Date tool class* @author yanweiqi * @since 2016-5-6 * */public class LocalDateUtils {private static ZoneId zone = ZoneId.systemDefault();/** * String to 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);}}/** * String to 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 to Date * @param localDate * @return Date */public static Date convertToDate(LocalDate localDate){Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();return Date.from(instant);}/** * LocalDate to Date * @param localDateTime * @return Date */public static Date convertToDate(LocalDateTime localDateTime){Instant instant = localDateTime.atZone(zone).toInstant();return Date.from(instant);}/** * Date to LocalDate * @param date * @return localDate */public static LocalDate convertToLocalDate(Date date){Instant instant = date.toInstant();return convertToLocalDateTime(instant).toLocalDate();}/** * Date to LocalTime * @param date * @return localDate */public static LocalTime convertToLocalTime(Date date){Instant instant = date.toInstant();return convertToLocalDateTime(instant).toLocalTime();}/** * Date to LocalDatetime * @param date * @return localDate */public static LocalDateTime convertToLocalDateTime(Date date){Instant instant = date.toInstant();return convertToLocalDateTime(instant);}/** * Instant to LocalDateTime * @param instant * @return */public static LocalDateTime convertToLocalDateTime(Instant instant){return LocalDateTime.ofInstant(instant, zone);}/** * LocalDateTime to Instant * @param localDateTime * @return */public static Instant convertToInstant(LocalDateTime localDateTime){return localDateTime.atZone(zone).toInstant();}/** * LocalDate to Instant * @param localDate * @return */public static Instant convertToInstant(LocalDate localDate){return localDate.atStartOfDay(zone).toInstant();}/** * LocalDate to LocalDateTime * @param localDate * @return LocalDateTime */public static LocalDateTime convertToLocalDateTime(LocalDate localDate){return localDate.atStartOfDay();}/** * Date cycle formatting* @param localDateTime * @param formatStyle * @return */public static String formatter(LocalDateTime localDateTime, String formatStyle){return DateTimeFormatter.ofPattern(formatStyle).format(localDateTime);}/** * Set year* @param sourceDate * @param year * @return LocalDateTime */public static LocalDateTime setYear(LocalDateTime sourceDate, Integer year){return sourceDate.withYear(year);}/** * Set the month* @param sourceDate * @param month * @return LocalDateTime */public static LocalDateTime setMonth(LocalDateTime sourceDate, Integer month){return sourceDate.withMonth(month);}/** * Set the day* @param sourceDate * @param month * @return LocalDateTime */public static LocalDateTime setDayOfMonth(LocalDateTime sourceDate, Integer dayOfMonth){return sourceDate.withDayOfMonth(dayOfMonth);}/** * Set hour* @param sourceDate * @param hour * @return */public static LocalDateTime setHour(LocalDateTime sourceDate,Integer hour){return sourceDate.withHour(hour);}/** * Set minute* @param sourceDate * @param minute * @return */public static LocalDateTime setMinute(LocalDateTime sourceDate,Integer minute){return sourceDate.withMinute(minute);}/** * Set seconds* @param sourceDate * @param second * @return */public static LocalDateTime setSecond(LocalDateTime sourceDate,Integer second){return sourceDate.withSecond(second);}/** * Modify year, month and day* @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);}/** * Modify time, minute and second* @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);}/** * Calculate the number of days of difference* @param beginDate * @param endDate * @return */public static int getInteverDays(LocalDate beginDate,LocalDate endDate){Period period = Period.between(beginDate, endDate);return period.getDays();}/** * Date addition and subtraction* @param num Quantity* @param unit unit* @param LocalDate Original date* @return LocalDate The date after the increase*/@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;}/** * Date hour, minute, second plus* @param num Number* @param unit Unit * @param localDateTime Original date* @return LocalDateTime The date after addition*/@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;}/** * Add and subtract * @param num Number* @param unit Unit * @param localTime Original date* @return LocalDateTime The date after increasing*/@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);}The code involves the use of time and date classes, and has simple comments, which can be referenced by you.
Summarize
The above is all the content of this article about the analysis of Java programming time and date API instances, and I hope it will be helpful to everyone. Interested friends can continue to refer to other related topics on this site. If there are any shortcomings, please leave a message to point it out. Thank you friends for your support for this site!