輸入生日,計算到目前為止的天數,以及活到10000天的日期


 1 /** 
 2 * 文件注釋:
 3 *     @title: Test03.java
 4 *     @package atest.dak.com
 5 *     @author: YangshuaiWang E_mail: 13272885616@163.com
 6 *     @date: 2017年3月3日 上午11:24:27 
 7 *   File_description: 
 8 *     
 9 *     
10 */ 
11  
12 package atest.dak.com;
13 
14 import java.text.ParseException;
15 import java.text.SimpleDateFormat;
16 import java.util.Date;
17 import java.util.Scanner;
18 
19 public class Test03 {
20     public static void main(String[] args) throws ParseException { //U+4E00~U+9FA5
21         Scanner scan = new Scanner(System.in);
22         System.out.println("請輸入你的出生日期(yyyy/MM/dd)");
23         String birthday_str = scan.nextLine(); //讀取生日;注意:不能用next(),原因不詳
24         System.out.println("出生日期:" + birthday_str);
25         System.out.println("===one===");
26         SimpleDateFormat sdf = new SimpleDateFormat("yyy/MM/dd");
27         Date birthday_date = sdf.parse(birthday_str); // String -->> Date
28         long birthday_time = birthday_date.getTime(); // 獲取生日的毫秒數
29         System.out.println("出生時間毫秒數:" + birthday_time);
30         System.out.println("===two===");
31         Date now_date = new Date(); //獲取當前日期
32         String now_str = sdf.format(now_date); // Date -->> String
33         long now_time = now_date.getTime(); //獲取當前時間的毫秒數
34         System.out.println("當前日期:" + now_str);
35         System.out.println("當前時間毫秒數:" + now_time);
36         System.out.println("===three===");
37         long D_value_time = now_time - birthday_time; // 計算當前和生日的毫秒差
38         System.out.println("當前時間和出生時間的毫秒差值:" + D_value_time);
39         long days = D_value_time / 1000 / 60 / 60 / 24; // 計算天數
40         System.out.println("你已經活了:" + days + "天啦。");
41         System.out.println("距離你活10000天還差" + (10000 - days) + "天");
42         System.out.println("===four===");
43         Date goal_date = new Date();
44         long time = birthday_time + (10000L * 24 * 60 * 60 * 1000); //計算到10000天所需的毫秒數
45         goal_date.setTime(time);
46         System.out.println("你活到10000天的日期是:" + sdf.format(goal_date)); 
47     }
48     
49 }
View Code

備注:今天三少有事,改天會進行注釋;待更新中......2017年3月4日10:22:27

 

1 利用Date類來讀取日期

2 利用SimpleDateFormat類實現date對象與string對象之間的相互轉換

  2.1 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

    2.1.1 string對象 -->> date對象

      date對象 -->> sdf.parse(string對象)

    2.1.2 date對象 -->> string對象

      stirng對象 = sdf.format(date對象)

 1 package lesson;
 2 
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Date;
 6 
 7 /**
 8  * java.text.SimpleDateFormat
 9  *         該類允許我們按照一個指定的日期格式在String與Date之間進行相互轉換
10  * @author soft01
11  *
12  */
13 public class Demo02 {
14     public static void main(String[] args) throws ParseException {
15         Date now = new Date();
16         System.out.println(now);//Mon Jan 16 00:26:48 CST 2017
17         
18         /*
19          * yyyy-MM-dd HH:mm:ss a
20          */
21         //Date類型對象 -->>  指定格式的字符串
22         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a");
23         String str = sdf.format(now);  //將日期按照指定格式,然后返回一個字符串
24         System.out.println(str);
25         
26         //指定格式的字符串 -->> Date類型對象
27         Date date = sdf.parse(str);
28         System.out.println(date);
29         
30     }
31 }
date對象與string對象的相互轉化

2017-3-28 16:48:48

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM