JAVA 獲取相差天數和獲取一日期相差某天數後的日期(可用於計算各種紀念日)
阿新 • • 發佈:2019-01-03
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateDiff { public static void main(String[] args) throws ParseException { // 2014-8-7 getDay(args); getDate(args); } // 獲取一日期相差某天數後的日期 private static void getDate(String[] args) throws ParseException { args = new String[] { "2011-11-11", "1000" }; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date begin = new Date(); if (args.length < 2) { System.out.println("input begin date and 相差的天數"); return; } begin = dateFormat.parse(args[0]); int day = Integer.parseInt(args[1]); Calendar c1 = Calendar.getInstance(); c1.setTime(begin); c1.add(Calendar.DAY_OF_YEAR, day); System.out.println(dateFormat.format(c1.getTime())); } // 獲取相差的天數,已經過去多少天 private static void getDay(String[] args) throws ParseException { args = new String[] { "2011-11-11" }; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date begin = new Date(); if (args.length < 1) { System.out.println("input begin date"); return; } begin = dateFormat.parse(args[0]); Date end = new Date(); if (args.length >= 2) { end = dateFormat.parse(args[1]); } long time = end.getTime() - begin.getTime(); int day = (int) (time / (24 * 60 * 60 * 1000)); System.out.println(day); } }