All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.panhongan.utils.datetime.DateUtils Maven / Gradle / Ivy

The newest version!
package com.github.panhongan.utils.datetime;

import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import org.joda.time.DateTime;

/**
 * 

* DateUtils *

* * @author lalaluplus * @version 1.0 * @since 2020.7.13 */ public class DateUtils { public static final String SETTLE_PATTERN = "yyyy-MM-dd HH:mm:ss"; public static final String UTC_PATTERN = "yyyy-MM-dd'T'HH:mm:ss'Z'"; /** * check datetime format * * @param dateTime DateTime * @param pattern String */ public static void checkFormat(DateTime dateTime, String pattern) { if (dateTime.toString(pattern).length() != pattern.length()) { throw new RuntimeException("invalid datetime : " + dateTime.toString()); } } public static long date2timestamp(Date date) { return date.toInstant().toEpochMilli(); } /** * @param timestamp millSeconds * @return Date */ public static Date millseconds2date(long timestamp) { Instant instant = Instant.ofEpochMilli(timestamp); return Date.from(instant); } public static Date seconds2date(long seconds, long nanos) { Instant instant = Instant.ofEpochSecond(seconds, nanos); return Date.from(instant); } public static Date plusDaysFromNow(int days) { return Date.from(LocalDate.now().plusDays(days).atStartOfDay(ZoneId.systemDefault()) .toInstant()); } /** * java.util.Date to String * * @param date Date * @param pattern Date format * @return Date string */ public static String date2Str(Date date, String pattern) { return new DateTime(date).toString(pattern); } /** * java.time.LocalDate to String * * @param date LocalDate * @param pattern Date pattern * @return Local date string */ public static String localDate2Str(LocalDate date, String pattern) { return date.format(DateTimeFormatter.ofPattern(pattern)); } /** * java.time.LocalDateTime to String * * @param dateTime LocalDateTime * @param pattern Date time pattern * @return Local date time string */ public static String localDateTime2Str(LocalDateTime dateTime, String pattern) { return dateTime.format(DateTimeFormatter.ofPattern(pattern)); } /** * String to java.util.Date * * @param dateStr Date string * @param datePattern Date format * @return Date */ public static Date str2Date(String dateStr, String datePattern) { return localDate2Date(str2LocalDate(dateStr, datePattern)); } /** * String to java.util.Date * * @param dateStr Date String * @param datePattern Date format * @param zoneId ZoneId * @return Date */ public static Date str2Date(String dateStr, String datePattern, ZoneId zoneId) { return localDate2Date(str2LocalDate(dateStr, datePattern), zoneId); } /** * String to java.time.LocalDate * * @param dateStr Date string * @param datePattern Date format * @return LocalDate */ public static LocalDate str2LocalDate(String dateStr, String datePattern) { return LocalDate.parse(dateStr, DateTimeFormatter.ofPattern(datePattern)); } /** * String to java.time.LocalDateTime * * @param dateTimeStr Date time string * @param dateTimePattern Date time format * @return LocalDateTime */ public static LocalDateTime str2LocalDateTime(String dateTimeStr, String dateTimePattern) { return LocalDateTime.parse(dateTimeStr, DateTimeFormatter.ofPattern(dateTimePattern)); } /** * java.time.LocalDate to java.util.Date * * @param localDate LocalDate * @return Date */ public static Date localDate2Date(LocalDate localDate) { return localDate2Date(localDate, ZoneId.systemDefault()); } /** * java.time.LocalDate to java.util.Date * * @param localDate LocalDate * @param zoneId ZoneId * @return Date */ public static Date localDate2Date(LocalDate localDate, ZoneId zoneId) { return Date.from(localDate.atStartOfDay(zoneId).toInstant()); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy