package .java8;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
public class LocalDateUtil {
private final static String FORMAT_PATTERN1="yyyy-MM-dd HH:mm:ss";
private final static String FORMAT_PATTERN2="yyyyMMddHHmmss";
private final static String FORMAT_PATTERN3="yyyy-MM-dd";
private final static String FORMAT_PATTERN4="yyyyMMdd";
public static void main(String[] args) {
Date date1=new Date();
try {
(1000);
} catch (InterruptedException e) {
();
}
(localDateFormat((),FORMAT_PATTERN3));
(localDateTimeFormat((),FORMAT_PATTERN1));
(localDateTimeFormat((),FORMAT_PATTERN2));
(localDateTimeToDate(()));
(dateFormat(new Date(),FORMAT_PATTERN4));
(minusToMillsLocalDateTime((),().minusSeconds(1)));
(minusToMillsDate(date1,new Date()));
(localDateParse("2018-06-12",FORMAT_PATTERN3));
(localDateTimeParse("2018-06-12 16:04:43",FORMAT_PATTERN1));
Period p=periodDate(date1,new Date());
("year:"+()+"month:"+()+"day:"+());
("----------------------------------------------------------------");
Date date2=localDateToDate(().minusMonths(1).minusDays(2));
Date date3=localDateToDate(());
Period p2=periodDate(date2,date3);
("year:"+()+"month:"+()+"day:"+());
("----------------------------------------------------------------");
Period p1=periodLocalDate(().minusDays(2),());
("year:"+()+"month:"+()+"day:"+());
}
/**
* 将localDate 按照一定的格式转换成String
* @param localDate
* @param pattern
* @return
*/
public static String localDateFormat(LocalDate localDate,String pattern){
return ((pattern));
}
/**
* 将localDateTime 按照一定的格式转换成String
* @param localDateTime
* @param pattern
* @return
*/
public static String localDateTimeFormat(LocalDateTime localDateTime,String pattern){
return ((pattern));
}
/**
* 将String 按照pattern 转换成LocalDate
* @param time
* @param pattern
* @return
*/
public static LocalDate localDateParse(String time,String pattern){
return (time,(pattern));
}
/**
* 将String 按照pattern 转换成LocalDateTime
* @param time
* @param pattern
* @return
*/
public static LocalDateTime localDateTimeParse(String time,String pattern){
return (time,(pattern));
}
/**
* 将date转换成String
* @param date
* @param pattern
* @return
*/
public static String dateFormat(Date date,String pattern){
return localDateTimeFormat(dateToLocalDateTime(date),pattern);
}
/**
* 将LocalDate 转换成 Date
* @param localDate
* @return
*/
public static Date localDateToDate(LocalDate localDate){
ZoneId zoneId = ();
ZonedDateTime zdt = (zoneId);
return (());
}
/**
* 将LocalDateTime 转换成 Date
* @param localDateTime
* @return
*/
public static Date localDateTimeToDate(LocalDateTime localDateTime){
ZoneId zoneId = ();
ZonedDateTime zdt = (zoneId);
return (());
}
/**
* 将 Date 转换成LocalDate
* atZone()方法返回在指定时区从此Instant生成的ZonedDateTime。
* @param date
* @return
*/
public static LocalDate dateToLocalDate(Date date){
Instant instant = ();
ZoneId zoneId = ();
return (zoneId).toLocalDate();
}
/**
* 将 Date 转换成LocalDateTime
* atZone()方法返回在指定时区从此Instant生成的ZonedDateTime。
* @param date
* @return
*/
public static LocalDateTime dateToLocalDateTime(Date date){
Instant instant = ();
ZoneId zoneId = ();
return (zoneId).toLocalDateTime();
}
/**
* 计算两个LocalDateTime 之间的毫秒数
* @param time1
* @param time2
* @return
*/
public static Long minusToMillsLocalDateTime(LocalDateTime time1,LocalDateTime time2){
return (time1, time2).toMillis();
}
/**
* 计算两个LocalTime 之间的毫秒数
* @param time1
* @param time2
* @return
*/
public static Long minusToMillsLocalTime(LocalTime time1,LocalTime time2){
return (time1, time2).toMillis();
}
/**
* 计算两个LocalDate 之间的毫秒数
* @param time1
* @param time2
* @return
*/
public static Long minusToMillsLocalDate(LocalDate time1,LocalDate time2){
return (time1, time2).toMillis();
}
/**
* 计算两个LocalDate 之间的Period
* @param time1
* @param time2
* @return
*/
public static Period periodLocalDate(LocalDate time1,LocalDate time2){
return (time1,time2);
}
/**
* 计算两个Date 之间的Period
* @param date1
* @param date2
* @return
*/
public static Period periodDate(Date date1,Date date2){
return periodLocalDate(dateToLocalDate(date1),dateToLocalDate(date2));
}
/**
* 计算两个Date之间的 Period
* @param time1
* @param time2
* @return
*/
public static Long minusToMillsDate(Date time1,Date time2){
return minusToMillsLocalDateTime(dateToLocalDateTime(time1),dateToLocalDateTime(time2));
}
}
相关文章
- java8中的LocalDate,LocalTime,LocalDateTime与Date的转换和使用
- java8使用LocalDate和LocalDateTime加减时间容易忽略的问题
- java8中的localdate和localtime用法举例
- Java8获取当前时间、新的时间日期类如Java8的LocalDate与Date相互转换、ZonedDateTime等常用操作包含多个使用示例、Java8时区ZoneId的使用方法、Java8时间字符串解析成类
- Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。
- mybatis如何使用Java8的日期LocalDate和LocalDateTime详解
- Java8中LocalDateTime与时间戳timestamp的互相转换
- JDBC中使用Java8的日期LocalDate和LocalDateTime操作mysql、postgresql
- Java中Date,Calendar,Timestamp的区别以及相互转换与使用
- Java8中 LocalDate和java.sql.Date的相互转换