1. 程式人生 > >Java Date類 日期、毫秒、天數之間的各種轉換

Java Date類 日期、毫秒、天數之間的各種轉換

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語言是不是簡單很多呀~~~~