Java計算時間差
阿新 • • 發佈:2018-11-12
import java.util.*; import java.text.SimpleDateFormat; public class Main{ public static void main(String []args) { Scanner sc=new Scanner(System.in); String date1=sc.nextLine(); String date2=sc.nextLine(); int year1=Integer.parseInt(date1.substring(0,4)); int mon1=Integer.parseInt(date1.substring(4,6)); //20110412 //20110422 //我的輸入格式是這樣的 SimpleDateFormat df=new SimpleDateFormat("yyyyMMdd"); try{ Date d1=df.parse(date1); Date d2=df.parse(date2); long result=(d2.getTime()-d1.getTime())/1000/60/60/24; //這個可是說是函式的bug嗎,1000年時它少算一天,自己手動排除啊 if(year1%4==0&&year1%100==0&&year1%400!=0&&mon1<=2) result-=1; System.out.println(result+1); }catch(Exception e) { System.out.println(e); } } }