1. 程式人生 > >Date類和Calendar類應用到計算活了多少天和判斷閏年與平年

Date類和Calendar類應用到計算活了多少天和判斷閏年與平年

edate 判斷閏年 階段 static 字符 n) 指定 javase row

在javaSE階段,Date類和Calendar類以後會經常用到 這兩個類當中的一些常用方法 通過兩個demo 進行學習和練習

要求如下:讓用戶自己輸入yyyy-MM-dd 格式的年月日 然後得出到今天為止活了多少天 ,這裏面用到SimpleDateFormat Scanner 代碼如下

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Text {
public static void main(String[] args) throws ParseException{

fun();

fun1();
}
public static void fun() throws ParseException{
//1 提示用戶輸入日期 以及格式
System.out.println("請輸入出生的日期 並且格式為 YYYY-MM-dd");
//2 獲取鍵盤輸入 出生的日期
String birthday = new Scanner(System.in).next();
//3 創建SimpleDateFormat 對象 寫日期的格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//4 將字符串日期 轉成Date對象
Date birthdayDate = sdf.parse(birthday);

//5 獲得今天的日期對象
Date today= new Date();
//6 將兩個日期轉毫秒值
long birthdaym = birthdayDate.getTime();
long todaym = today.getTime();
//7 二者相減 就是活的毫秒數、
long time = todaym-birthdaym;
//8判斷 time是否小於0
if(time<0){
System.out.println("您輸入的出生日期代表您還沒有出生");
}else{
System.out.println("活了"+time/1000/60/60/24+"天");
}

}

/*
* 閏年計算
* 2000 3000
* 高級的算法: 日歷設置到指定年份的3月1日,add向前偏移1天,獲取天數,29閏年
*/
public static void fun1(){
Calendar c = Calendar.getInstance();
//1將日歷設置成2019年3月1日
c.set(2019,2,1);
//2 將日歷往前偏移一天
c.add(Calendar.DAY_OF_MONTH,-1);
//3 get 獲取天數
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(day);
}
}

Date類和Calendar類應用到計算活了多少天和判斷閏年與平年