DateUtil(java8)

来源:互联网 发布:飞升真元锻体升级数据 编辑:程序博客网 时间:2024/06/03 18:42
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

/***
 * @author Andypan
 * @date 2017年6月21日 上午10:13:04
 */
public class DateUtil
{


public static String getNow()
{
return now("yyyy-MM-dd HH:mm:ss");
}


public static String now()
{
return getNow();
}


public static String now(String formatPattern)
{
LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(formatPattern);
String formattedDate = dateTime.format(formatter);
return formattedDate;
}


public static LocalDateTime parse(String dateTimeStr, String formatPattern)
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(formatPattern);
LocalDateTime dateTime = LocalDateTime.parse(dateTimeStr, formatter);
return dateTime;
}


/**

* @param date  jdk8之前的date 
* @param pattern
* @return
*/
public static String dateToLocalDateTimeString(Date date, String pattern) {
Instant instant = date.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
String formattedDate = localDateTime.format(formatter);
return formattedDate;
}


public static void main(String[] args)
{
System.out.println(now("yyyy-MM-dd HH:mm:ss:SSS E"));
LocalDateTime dateTime = parse("2017-08-16 18:01:17:962", "yyyy-MM-dd HH:mm:ss:SSS");
System.out.println(dateTime.getDayOfMonth());
System.out.println(dateTime.getMinute());
System.out.println(dateTime.getDayOfYear());
System.out.println(dateTime.getNano());
System.out.println(dateTime.getDayOfWeek());
}
}