类SimpleDateFormat
概述
java.text.DateFormat 是日期/时间格式化子类的抽象类,不能直接使用。我们通过这个类的子类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。一共有2个功能 格式化:按照指定的格式,从Date对象转换为String对象。或者解析:按照指定的格式,从String对象转换为Date对象。
构造方法:
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat。SimpleDateFormat
是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
这个类需要一个模式(格式)来指定格式化或解析的标准。构造方法为:
- public SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。参数pattern是一个字符串,代表日期时间的自定义格式。例如:yyyy-MM-dd HH:mm:ss" 会把模式替换为对应的日期和时间
注意:
- 模式中的字母不能修改,连接符可以改变
- 字母对应的具体意义详情如下
常用方法:
- public String format(Date date):将Date对象格式化为字符串。
- public Date parse(String source):将字符串解析为Date对象。
需求:
计算一个人活了多少天
代码实现:
package demo02; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class PersonDate { public static void main(String[] args) throws ParseException { // 从键盘获取字符串 Scanner scanner = new Scanner(System.in); System.out.println("请按照指定格式yyyy年MM月dd日输入你的生日"); String next = scanner.next(); //创建SimpleDateFormat类对象,传入指定模式 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日"); //解析成为Date对象 Date date = simpleDateFormat.parse(next); // 获取date对象,从时间原点到现在过去了多少毫秒 long start = date.getTime(); long end = new Date().getTime(); long result = end - start; //活了多少天 long day = result / (1000 * 60 * 60 * 24); System.out.println(day); } }
执行结果

更多精彩