Java Date類 日期、毫秒、天數之間的各種轉換
阿新 • • 發佈:2019-02-11
1,將毫秒轉換為日期
import java.text.SimpleDateFormat; import java.util.Calendar; public class demo1 { /** * @param args */ public static void main(String[] args) { // SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); long nowTime = System.currentTimeMillis(); Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(nowTime); System.out.println(nowTime + " is " + dateFormat.format(cal.getTime())); } }
執行結果:
1394194497238 is 2014-03-07
2,將日期轉換為毫秒
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class demo1 { /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException { // String dateStr1 = "2014-3-7 20:16"; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); Date date = dateFormat.parse(dateStr1); System.out.println(dateStr1 + " is " + date.getTime()); } }
執行結果:
2014-3-7 20:16 is 1394194560000
3,計算兩個日期間相隔多少天
public class demo1 { /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException { // String dateStr1 = "2014-3-7"; String dateStr2 = "2013-9-8"; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date date1 = dateFormat.parse(dateStr1); Date date2 = dateFormat.parse(dateStr2); System.out.println("從"+dateStr2+"到"+ dateStr1+ "相隔" + (date1.getTime()-date2.getTime())/(24*3600*1000)+"天"); } }
執行結果:
從2013-9-8到2014-3-7相隔180天
4,從某一個日子加上多少天后是什麼日子的計算
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class demo1 {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
// 開始的日期
String dateStr1 = "1950-3-8";
// 加上的天數
long dayMount = 1000;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = dateFormat.parse(dateStr1);
Calendar cal = Calendar.getInstance();
// 開始的日期相對於1970年1月1日的毫秒數+天數的毫秒數
long addMill = date1.getTime() + dayMount * 24 * 3600 * 1000;
cal.setTimeInMillis(addMill);
System.out.println(dateStr1 + " 過1000天是 "
+ dateFormat.format(cal.getTime()));
}
}
執行結果:
1950-3-8 過1000天是 1952-12-02
相比C語言是不是簡單很多呀~~~~