date日期相减 java_一个小小的Java程序
生活随笔
收集整理的這篇文章主要介紹了
date日期相减 java_一个小小的Java程序
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
如下是一個Java程序?qū)崿F(xiàn)了從鍵盤讀入出生日期并計算從出生開始過去了多少天/多少周/多少月/多少日。
具體的全部解決思路以及代碼。還有代碼對應(yīng)的相關(guān)解釋已標注與代碼中。
如果發(fā)現(xiàn)有所問題,還望斧正。
import java.text.*;import java.util.*;//鍵盤輸入某人的出生日在期,計算從出生開始到現(xiàn),經(jīng)過了多少天?多少周?多少年?/* *設(shè)計思路: *1、String輸入生日 *2、拆字符串,拆成年月日 *3、年和自動獲取的年減 *4、重新合成Date類型的日期,獲取毫秒 *5、自動獲取當前日期的毫秒數(shù)和生日相減 *6、通過12減去出生月計算出生該年的剩余月,然后加上該年已經(jīng)過去的月,加上(年紀-1)*12月 */public class T { public static void main(String[] arg){ //throws ParseException {向上一層拋出異常,方法聲明中使用關(guān)鍵字上拋異常 String birthday;//定義一個字符類型的變量birthday用于儲存輸入的生日信息 int year = 0 ;//出生了多少年 long month = 0;//出生了多少月 long week = 0; //出生了多少周 long day = 0;//出生了多少天 long ms;//出生多少毫秒 Scanner scanner = new Scanner(System.in);//輸入語句 System.out.println("請輸入您的生日(格式為YYYY-MM-DD):"); birthday = scanner.nextLine();//讀入日期(String類型) String s1[]=birthday.split("-");//按一定的條件拆分字符串,s1[0]年;s1[1]月;s1[2]日 int birthday_year=Integer.parseInt(s1[0]);//從字符串中讀取出生年 Calendar cal = Calendar.getInstance();//創(chuàng)建一個Calendar 對象 int now_year = cal.get(Calendar.YEAR);//獲取當前年份 year = now_year -birthday_year;//運算過了幾年 Date birthday_date = new Date();//創(chuàng)建一個生日日期的對象 int birthday_month = Integer.parseInt(s1[1]); int now_month = cal.get(Calendar.MONTH);//自動獲取當前月份 System.out.println(now_month); month = (12-birthday_month)+ ((year-1)*12)+(now_month+1);//計算經(jīng)過了幾個月(月份+1因為Java中月的從0開始計數(shù)) SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//創(chuàng)建一個對象用于接下來轉(zhuǎn)換的格式 try { birthday_date = sdf.parse(birthday);//將字符型的生日轉(zhuǎn)化成日期型 } catch (ParseException e) {//收集可能存在的問題并輸出 e.printStackTrace(); } //System.out.println("birthday:"+birthday_date);//輸出生日 long birthday_time = birthday_date.getTime(); //System.out.println(birthday_time);//輸出生日毫秒 Date date = new Date();//新建一個date對象 long today_time = date.getTime(); //System.out.println(today_time);//輸出當前毫秒 ms =today_time - birthday_time;//計算差值毫秒 //System.out.println("差值毫秒"+ms);//差值毫秒 day = ms/1000/60/60/24;//計算差值天數(shù) //System.out.println("您已存活:"+day+"天"); week = day/7;//計算差值周數(shù) //System.out.println("您已存活:"+week+"周"); System.out.println("您已經(jīng)存活"+day+"天,"+week+"周,"+month+"月,"+year+"年。"); }}總結(jié)
以上是生活随笔為你收集整理的date日期相减 java_一个小小的Java程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php怎么循环输出二维数组,PHP中遍历
- 下一篇: html中写色块,CSS3 彩虹色块