import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Date;
import java.util.GregorianCalendar;
public class DateTransformUtil {
/**
* LocalDateTime转换为Date
* @param localDate
* @return
*/
public static Date transform(LocalDateTime localDate) {
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = localDate;
ZonedDateTime zdt = localDateTime.atZone(zoneId);
Date date = Date.from(zdt.toInstant());
return date;
}
/**
* Date转换为LocalDateTime
* @param date
* @return
*/
public static LocalDateTime transform(Date date) {
Instant instant = date.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
return localDateTime;
}
/**
* Date to XMLGregorianCalendar
* @param date
* @return
*/
public static XMLGregorianCalendar dateToXml(Date date){
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(date);
XMLGregorianCalendar gc = null;
try {
gc = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal);
} catch (Exception e) {
e.printStackTrace();
}
return gc;
}
/**
* XMLGregorianCalendar to Date
* @param xmlGregorianCalendar
* @return
*/
public static Date xMLGregorianCalendarToDate(XMLGregorianCalendar xmlGregorianCalendar){
GregorianCalendar ca = xmlGregorianCalendar.toGregorianCalendar();
return ca.getTime();
}
}
Java Date与LocalDateTime、Date与XMLGregorianCalendar 互相转换
最新推荐文章于 2023-02-20 11:24:02 发布