学习笔记,仅供参考,有错必纠


DateFormat类



DateFormat类是java.text包下的一个类,使用该类时需要导包。

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。



SimpleDateFormat类



SimpleDateFormat类是DateFormat类的子类。



构造方法



public SimpleDateFormat()
public SimpleDateFormat(String pattern)



  • 举个例子
package com.guiyang.restudy3;

import java.text.SimpleDateFormat;
import java.util.Date;

public class D7SimpleDF {

public static void main(String[] args) {
Date d = new Date(); //获取当前时间对象
SimpleDateFormat sdf = new SimpleDateFormat(); //创建日期格式化类对象
System.out.println(sdf.format(d));
}

}

输出:

20-6-27 上午9:00



成员方法



public final String format(Date date)
//继承自DateFormat类,将一个 Date 格式化为日期/时间字符串。
public Date parse(String source)
//继承自DateFormat类,从给定字符串的开始解析文本,以生成一个日期。该方法不使用给定字符串的整个文本。



  • 日期和时间模式

字母

日期或时间元素

表示

示例

​G​

Era 标志符

​Text​

​AD​

​y​


​Year​

​1996​​​; ​​96​

​M​

年中的月份

​Month​

​July​​​; ​​Jul​​​; ​​07​

​w​

年中的周数

​Number​

​27​

​W​

月份中的周数

​Number​

​2​

​D​

年中的天数

​Number​

​189​

​d​

月份中的天数

​Number​

​10​

​F​

月份中的星期

​Number​

​2​

​E​

星期中的天数

​Text​

​Tuesday​​​; ​​Tue​

​a​

Am/pm 标记

​Text​

​PM​

​H​

一天中的小时数(0-23)

​Number​

​0​

​k​

一天中的小时数(1-24)

​Number​

​24​

​K​

am/pm 中的小时数(0-11)

​Number​

​0​

​h​

am/pm 中的小时数(1-12)

​Number​

​12​

​m​

小时中的分钟数

​Number​

​30​

​s​

分钟中的秒数

​Number​

​55​

​S​

毫秒数

​Number​

​978​

​z​

时区

​General time zone​

​Pacific Standard Time​​​; ​​PST​​​; ​​GMT-08:00​

​Z​

时区

​RFC 822 time zone​

​-0800​


  • 举个例子
package com.guiyang.restudy3;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class D7SimpleDF {

public static void main(String[] args) throws ParseException {
Demo1();
String str = "2020年01月01日";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
Date d = sdf.parse(str); //将时间字符串转换成日期对象
System.out.println(d);

}

private static void Demo1() {
Date d = new Date(); //获取当前时间对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); //创建日期格式化类对象
System.out.println(sdf.format(d)); //88-6-6 下午9:31
}

}

注意,因为用parse方法将字符串转换为日期时,可能会出现异常情况(比如将"数学分析"转换为日期),所以,我们需要抛出异常。

输出:

2020年06月27日
Wed Jan 01 00:00:00 CST 2020