1 package com.project;
2
3 import java.text.SimpleDateFormat;
4 import java.util.Calendar;
5 import java.util.Date;
6 import java.util.Scanner;
7
8 public class Birthday {
9
10 public static void main(String[] args) throws Exception {
11 // TODO Auto-generated method stub
12
13 Scanner input = new Scanner(System.in);
14 System.out.println("请输入你的出生日期:(例:1999-9-9)");
15 String birthday = input.next();
16 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
17 Calendar cal = Calendar.getInstance();
18 Date mybirthday = formatter.parse(birthday);
19 cal.setTime(new Date());
20 int yearNow = cal.get(Calendar.YEAR);// 年
21 int monthNow = cal.get(Calendar.MONTH);
22 int dayNow = cal.get(Calendar.DAY_OF_MONTH);
23 cal.setTime(formatter.parse(birthday));
24 int birthYear = cal.get(Calendar.YEAR);
25 int birthMonth = cal.get(Calendar.MONTH);
26 int birthDay = cal.get(Calendar.DAY_OF_MONTH);
27 int num = 0;
28 if(monthNow == birthMonth&&dayNow == birthDay){
29 System.out.println("祝你生日快乐!!");
30 }
31
32 while(birthYear < yearNow){
33 cal.set(Calendar.YEAR,cal.get(Calendar.YEAR)+1);
34 birthYear=cal.get(Calendar.YEAR);
35 num++;
36 }
37 Date ed=new Date();
38 Date sd=cal.getTime();
39 int days=0;
40 if(((sd.getTime() - ed.getTime()) / (3600 * 24 * 1000))> 0 ){
41 days=(int)((sd.getTime() - ed.getTime()) / (3600 * 24 * 1000));
42 System.out.println("距离你" +num+ "周岁生日还有" + days + "天");
43 }else{
44 cal.set(Calendar.YEAR,cal.get(Calendar.YEAR)+1);
45 sd=cal.getTime();
46 days=(int)((sd.getTime() - ed.getTime()) / (3600 * 24 * 1000));
47 num +=1;
48 System.out.println("距离你" +num+ "周岁生日还有" + days + "天");
49
50 }
51 long second1 = new Date().getTime();
52 long second2 = mybirthday.getTime();
53 int day1 = (int)((second1 - second2)/(1000*60*60*24));
54 System.out.println("你在这个世界上已经活了" +day1+ "天");
55
56 input.close();
57 }
58
59 }