
正文
类SimpleDateFormat
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
概述
java.text.DateFormat 是日期/时间格式化子类的抽象类,不能直接使用。我们通过这个类的子类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。一共有2个功能 格式化 :按照指定的格式,从Date对象转换为String对象。或者 解析 :按照指定的格式,从String对象转换为Date对象。
构造方法:
由于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);
}
}
执行结果






