注意:
①:删除线为非必要参数或数据。、
②:下划线与红字为重点。
题目:
编写一个小程序叫“Shouming”,输入自己的生日日期,得出自己的寿命。
代码:
—————————————分割线—————————————
package TryPa;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Shouming
{
public static void main(String[] args) throws ParseException
{
String Geshi = "yyyyMMdd";
SimpleDateFormat SDF = new SimpleDateFormat(Geshi); //定义格式。
System.out.println("请输入生日日期:");
System.out.println("例:1990年1月01日请填写为19900101");
String s = new Scanner(System.in).nextLine(); //把用户输入的值以String类型赋予给s。
Date d = SDF.parse(s);
long t = d.getTime(); //得到生日日期的毫秒数。
long now = System.currentTimeMillis(); //得到当前时间的毫秒数。
long t1 = now -t;
long t2 = t1/1000/60/60/24;
long year = t2/365;
System.out.println(year); //根据运算得出多少年。
long t3 = t1 - year*365*24*60*60*1000;
long day = t3/1000/60/60/24; //根据运算得出不足一年的部分为多少天。
System.out.println("你的寿命为"+year+"年"+day+"日"); //输出结果。
}
}
___________________________分割线____________________________
所设计的API:
1、SimpleDateFormat类
①:定义:一个格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
②:SimpleDateFormat A = new SimpleDateFormat(String Geshi);
按照String类型的Geshi格式文本进行初始化SimpleDateFormat。
③:parse——SimpleDateFormat.parse(String a , ParsePosition pos)
解析字符串的文本,生成类型Date
。
指定者:类 DateFormat 中的 parse
参 数:text - 应该解析其中一部分的 String。
pos - 具有以上所述的索引和错误索引信息的 ParsePosition 对象。
返 回:从字符串进行解析的 Date。如果发生错误,则返回 null。
抛 出:NullPointerException - 如果 text 或 pos 为 null
2、Date类()——java.util.Date的
①:定义:类Date表示特定的瞬间,精确到毫秒。
②:getTime——Date.getTime()
返回:自 1970 年 1 月 1 日 00:00:00 GMT 以来此日期表示的毫秒数。类型(建议)为long。
3、System.currentTimeMillis();
得到当前时间,返回类型(建议)为long。