> 文档中心 > 计算从你的出生日期到现在间隔了多少天,多少时,XX分?XX秒。

计算从你的出生日期到现在间隔了多少天,多少时,XX分?XX秒。

  /**     *计算从你的出生日期现在间隔了多少天,     * 多少时,XX分?XX秒。(例如:出生日期为:XX年XX月XX日,     * 现在时间为:XX年XX月XX日,出生日期到现在间隔了多XX天,XX时,XX分,XX秒)。     */    public static void main(String[] args) { //手动输入生日// Scanner scanner = new Scanner(System.in);//// System.out.println("请输入出生年yyyy:");// String year = scanner.nextLine();// System.out.println(year+"年出生");////// System.out.println("请输入出生月MM:");// String month = scanner.nextLine();// if(month.length()==1){//     month = "0"+month;// }// System.out.println(year+"年"+month+"月出生");////// System.out.println("请输入出生日dd:");// String day = scanner.nextLine();// if(day.length()==1){//     day = "0"+day;// }// System.out.println(year+"年"+month+"月"+day+"日"+00+"时"+00+"分"+00+"秒");////// SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");// Date num3 = null;// try {//     Date num3 = format.parse(year + "年" + month + "月" + day + "日"+00+"时"+00+"分"+00+"秒");// } catch (ParseException e) {//     e.printStackTrace();// }////// System.out.println("出生日期为"+year+"年"+month+"月"+day+"日"); //随机生成生日 Random random = new Random(); int minDay = (int) LocalDate.of(1995, 1, 1).toEpochDay(); int maxDay = (int) LocalDate.of(2010, 1, 1).toEpochDay(); long randomDay = minDay + random.nextInt(maxDay - minDay); LocalDate randomBirthDate = LocalDate.ofEpochDay(randomDay); System.out.println("随机生成1995-2010年之间的日期:"); DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy年MM月dd日"); String num1 = randomBirthDate.format(dtf)+00+"时"+00+"分"+00+"秒"; System.out.println();// 2021-01-29  ==> 2021年01月29日 System.out.println("出生日期为:"+num1); //日期 Calendar calendar=Calendar.getInstance(); //通过getInstance方法获取Calendar的引用; calendar.setTime(new Date()); String yearC=String.valueOf(calendar.get(Calendar.YEAR));      //现在是那一年 String monthC=String.valueOf(calendar.get(Calendar.MONTH)+1);  //现在是几月份 String dayC=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));  //现在是月份的第几天 String house = String.valueOf(calendar.get(Calendar.HOUR_OF_DAY)); // 时 String minutes = String.valueOf(calendar.get(Calendar.MINUTE)); // 分 String seconds = String.valueOf(calendar.get(Calendar.SECOND)); // 秒 System.out.println("现在时间是:"+yearC+"年"+monthC+"月"+dayC+"日"+house+"时"+minutes+"分"+seconds+"秒"); SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒"); Long num2=0L; try {     Date now = format.parse(yearC+"年"+monthC+"月"+dayC+"日"+house+"时"+minutes+"分"+seconds+"秒");     num2=now.getTime(); } catch (ParseException e) {     e.printStackTrace(); } Date num3 =null; try {     num3= format.parse(num1); } catch (ParseException e) {     e.printStackTrace(); } //开始计算 long Time=Math.abs(num2-num3.getTime()); long dayResult = Time / (24 * 60 * 60 * 1000); long hourResult = (Time / (60 * 60 * 1000) - dayResult * 24); long minResult = ((Time / (60 * 1000)) - dayResult * 24 * 60 - hourResult * 60); long sResult = (Time / 1000 - dayResult * 24 * 60 * 60 - hourResult * 60 * 60 - minResult * 60); System.out.println("出生日期到现在间隔了多"+dayResult+"天"+hourResult+"时"+minResult+"分"+sResult+"秒。");    }

输出结果: