DateFormat类与SimpleDateFormat类介绍和DateFormat类的format方法与parse方法
作者:互联网
DateFormat类与SimpleDateFormat类介绍
DateFormat类
java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。
格式化:按照指定的格式,从Date对象转换为String对象。
解析︰按照指定的格式,从String对象转换为Date对象。
常用的格式
java.text.DateFormat:是日期/时间格式化子类的抽象类
作用:
格式化 (也就是日期->文本)、解析(文本->日期)
成员方法:
String format(Date date)按照指定的模式,把Date日期,格式化为符合模式的字符串
Date parse(String source)把符合模式的字符串,解析为Date日期
DateFormat类是一个抽象类,无法直接创建对象使用,可以使用DateFormat的子类
java.text.simpLeDateFormat extends DateFormat
构造方法:
SimpLeDateFormat(String pattern)用给定的模式和Z认语言环境的日期格式符号构造simpLeDateForma
参数:
String pattern:传递指定的模式模式:区分大小写的
写对应的模式,会把模式替换为对应的日期和时间
"yyyy-M-dd HH : mm: ss"
"yyyy 年 mm 日 HH 日 mm 分 ss 秒”
注意:
模式中的字母不能更改,连接模式的符号可以改变
DateFormat类的format方法与parse方法
format方法
使用DateFormat类中的方法format,把日期格式化为文本
string format(Date date)按照指定的模式,把Date日期,格式化为符合模式的字符串
public static void main(String[] args) { //1.创建simpLeDateFormat对象,构造方法中传递指定的模式 SimpleDateFormat sdf = new SimpleDateFormat( "yyyy年M月dd日HH时mm分ss秒"); //2.调用SimpLeDateFormat对象中的方法format ,按照构造方法中指定的模式,把Date日期格式化为符合模式的字符串(文本) Date date = new Date(); String text = sdf.format(date); System.out.println(date);//Tue Jul 05 13:09:29 CST 2022 System.out.println(text);//2022年7月05日13时09分29秒 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date1 = new Date(); String text1 = sdf1.format(date1); System.out.println(date1);//Tue Jul 05 13:11:51 CST 2022 System.out.println(text1);//2022-07-05 13:11:51 }
parse方法
使用DateFormat类中的方法parse,把文本解析为日期
Date parse( String source)把符合模式的字符串,解析为Date日期
注意:
public Date parse(String source) throws ParseExceptionparse方法声明了一个异常叫ParseException解析异常
如果字符串和构造方法中的模式不一样,那么程序就会抛出此异常
调用一个抛出了异常的方法,就必须的处理这个异常,要么throws继续声明抛出这一个异常,要么try...catch自己处理这个异常
public static void main(String[] args) throws ParseException { //1.创建simpleDateFormat对象,构造方法中传递指定的模式 SimpleDateFormat sdf = new SimpleDateFormat( "yyyy年M月dd日HH时mm分ss秒"); //2.调用SimpleDateFormat对象中的方法parse,把符合构造方法中模式的字符串,解析为Date日期 Date date = sdf.parse("2088年08月08日17时01分10秒"); System.out.println(date);//Sun Aug 08 17:01:10 CST 2088 }
这是一个错误写法 public static void main(String[] args) throws ParseException { //1.创建simpleDateFormat对象,构造方法中传递指定的模式 SimpleDateFormat sdf = new SimpleDateFormat( "yyyy年M月dd日HH时mm分ss秒"); //2.调用SimpleDateFormat对象中的方法parse,把符合构造方法中模式的字符串,解析为Date日期 Date date = sdf.parse("2088年08月08日17时01分10"); System.out.println(date); /* Exception in thread "main" java.text.ParseException: Unparseable date: "2088年08月08日17时01分10" at java.text.DateFormat.parse(DateFormat.java:366) at com.Demo_04.DateParse.main(DateParse.java:12) */
标签:String,format,DateFormat,模式,SimpleDateFormat,parse,Date 来源: https://www.cnblogs.com/yuzong/p/16446049.html