Java8 LocalDate、Date、LocalDateTime、時間戳的轉換


1.LocalDate轉Date

LocalDate nowLocalDate = LocalDate.now();
Date date = Date.from(localDate.atStartOfDay(ZoneOffset.ofHours(8)).toInstant());

2.LocalDateTime轉Date

LocalDateTime localDateTime = LocalDateTime.now();
Date date = Date.from(localDateTime.atZone(ZoneOffset.ofHours(8)).toInstant());

3.Date轉LocalDateTime(LocalDate)

Date date =newDate();
LocalDateTime localDateTime = date.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
LocalDate localDate = date.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDate();

4.LocalDate轉時間戳

LocalDate localDate = LocalDate.now();
longtimestamp = localDate.atStartOfDay(ZoneOffset.ofHours(8)).toInstant().toEpochMilli();

5.LocalDateTime轉時間戳

LocalDateTime localDateTime = LocalDateTime.now();
longtimestamp = localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();

6.時間戳轉LocalDateTime(LocalDate)

longtimestamp = System.currentTimeMillis();
LocalDate localDate = Instant.ofEpochMilli(timestamp).atZone(ZoneOffset.ofHours(8)).toLocalDate();
LocalDateTime localDateTime = Instant.ofEpochMilli(timestamp).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
public class Test {
 
	//1.LocalDateTime轉為"yyyy/MM/dd"
	public static String formatLocalDateTimeString(LocalDateTime date) {
		DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd");
		return date.format(dtf);
	}
 
	//2.LocalDateTime轉為"yyyy-MM-dd HH:mm:ss"
	public static String formatLocalDateTimeString1(LocalDateTime date) {
		DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
		return date.format(dtf);
	}
 
	//3.Date轉為"yyyy/MM/dd"
	public static String formatDateTimeString(Date date) {
		SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
		return df.format(date);
	}
 
	//4.Date轉為"yyyy-MM-dd HH:mm:ss"
	public static String formatDateTimeString1(Date date) {
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		return df.format(date);
	}
 
	public static void main(String[] args) {
		LocalDateTime nowDate = LocalDateTime.now();
		String date1 = formatLocalDateTimeString(nowDate);
		System.out.println("LocalDateTime轉為\"yyyy/MM/dd\"格式=====" + date1);
		String date2 = formatLocalDateTimeString1(nowDate);
		System.out.println("LocalDateTime轉為\"yyyy-MM-dd HH:mm:ss\"格式=====" + date2);
 
		System.out.println();
 
		Date nowDate1 = new Date();
		String date3 = formatDateTimeString(nowDate1);
		System.out.println("Date轉為\"yyyy/MM/dd\"格式=====" + date3);
		String date4 = formatDateTimeString1(nowDate1);
		System.out.println("Date轉為\"yyyy-MM-dd HH:mm:ss\"格式=====" + date4);
 
	}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM