package com.ikoo.demo; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateUtil { public static void main(String[] args) { /** * 時間戳 * 1.System.currentTimeMillis() * 2.new Date().getTime() * 3.Calendar.getInstance().getTimeInMillis() * P.S. * Java獲取時間戳精確到毫秒級,Unix中精確到秒級,因此Java獲取的時間戳須要除以1000,就能夠保證一致性 * Calendar.getInstance().getTimeInMillis() 耗時最多,這是由於Canlendar要處理時區問題 */ System.out.println("System.currentTimeMillis(): " + System.currentTimeMillis()); System.out.println("new Date().getTime(): " + new Date().getTime()); System.out.println("Calendar.getInstance().getTimeInMillis(): " + Calendar.getInstance().getTimeInMillis()); System.out.println("----------"); /** * 時間戳(日期)轉換自定義日期格式 */ long timeStamp = System.currentTimeMillis(); System.out.println("System.currentTimeMillis(): " + timeStamp); Date date = new Date(); System.out.println("new Date(): " + date); long dateTimaStamp = date.getTime(); System.out.println("date.getTime(): " + date.getTime()); String formatDate0 = DateUtil.timeStampToFormatDate(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"); System.out.println("formatDate0: " + formatDate0); String formatDate1 = DateUtil.timeStampToFormatDate(new Date(), "yyyy-MM-dd HH:mm:ss"); System.out.println("formatDate1: " + formatDate1); String formatDate2 = DateUtil.timeStampToFormatDate(new Date().getTime(), "yyyy-MM-dd HH:mm:ss"); System.out.println("formatDate2: " + formatDate2); String formatDate3 = DateUtil.timeStampToFormatDate(Calendar.getInstance().getTime(), "yyyy-MM-dd HH:mm:ss"); System.out.println("formatDate3: " + formatDate3); } /** * 時間戳轉換爲格式化日期 * * @param dateObj 時間對象 * System.currentTimeMillis() * new Date() * new Date().getTime() * Calendar.getInstance().getTimeInMillis() * @param pattern 日期格式 * yyyy-MM-dd HH:mm:ss * yyyy/MM/dd HH:mm:ss * yyyy年MM月dd日 HH:mm:ss * @return sdf.format(Object dateObj) */ public static String timeStampToFormatDate(Object dateObj, String pattern) { SimpleDateFormat sdf = new SimpleDateFormat(pattern); String formatDate = sdf.format(dateObj); return formatDate; } }
控制檯打印結果:java
System.currentTimeMillis(): 1503660334272 new Date().getTime(): 1503660334274 Calendar.getInstance().getTimeInMillis(): 1503660334299 ---------- System.currentTimeMillis(): 1503660334328 new Date(): Fri Aug 25 19:25:34 CST 2017 date.getTime(): 1503660334328 formatDate0: 2017-08-25 19:25:34 formatDate1: 2017-08-25 19:25:34 formatDate2: 2017-08-25 19:25:34 formatDate3: 2017-08-25 19:25:34 Process finished with exit code 0