標籤:settime mil for void ring EDA ann pac throw
例題1
尋找十天前的日期。
package date;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Scanner;public class Date01 {public static void main(String[] args) throws ParseException {Scanner sca = new Scanner(System.in);System.out.println("請輸入一個日期:" );String str = sca.nextLine();SimpleDateFormat s = new SimpleDateFormat("yyy-MM-dd");Date d = s.parse(str); //格式轉換 將string轉為dateCalendar c = Calendar.getInstance(); //Calendar 類是一個抽象類別,為操作日曆欄位(例如獲得幾天后的日期)提供了一些方法.(c.add)c.setTime(d);c.add(Calendar.DAY_OF_MONTH, -10);SimpleDateFormat time = new SimpleDateFormat("yyy-MM-dd");System.out.println(time.format(c.getTime()));//String time = s.format(c.getTime()); //System.out.println("十天前的時期為:"+time);}}
例二
時間差問題
package date;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Scanner;public class Date02 { public static void main(String[] args) throws ParseException { Scanner sca = new Scanner(System.in); System.out.println("請輸入一個日期:"); String str = sca.nextLine(); SimpleDateFormat s = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); Date d = s.parse(str); long start = d.getTime(); //開始時間 long end = System.currentTimeMillis(); //系統時間 long result = end-start; long time = result/(1000*60); if(time < 60) { System.out.println(time+"分鐘前"); }else if(time < 60*24) { System.out.println(time/60+"小時前"); }else if(time < 60*24*30) { System.out.println(time/(60*24)+"天前"); }else if(time > 60*24*30) { System.out.println(s.format(d.getTime())); } }}
關於Java日期的兩道例題