DateFormat类
- DateFormat类用于将日期格式化为字符串或者将用特定格式显示的日期字符串转换成一个Date对象
- DateFormat是一个抽象类,不能直接被实例化
- 提供了一系列静态方法来获取DateFormat类的实例对象
DateFormat的常用方法
方法声明 功能描述
static DateFormat getDateInstance() //用于创建默认语言环境和格式化风格的日期格式器
static DateFormat getDateInstance(int style) //用于创建默认语言环境和指定格式化风格的日期格式器
static DateFormat getDateTimeInstance() //用于创建默认语言环境和格式化风格的日期/时间格式器
static DateFormat getDateTimeInstance(int dayStyle,int timeStyle) //用于创建默认语言环境和指定格式化风格的日期/时间格式器
String format(Date date) //将一个Date格式化为日期/时间字符串
Date parse(String source) //将给定字符串解析成一个日期
其中,四个静态方法能用于获得DateFormat类的实例对象,每种方法返回的对象都具有不同的作用,衙门可以对日期或者时间部分进行格式化。
DateFormat类中还定义了许多常量,其中有四个常量作为参数传递给对方法的
- FULL常量表示完整格式
- LONG常量表示长格式
- MEDIUM常量表示普通格式
- SHORT常量表示段格式
package com.sgl;
import java.text.DateFormat;
import java.util.Date;
public class Test {
public static void main(String[] args){
long startTime = System.currentTimeMillis(); //循环开始时的当前时间
//创建Date对象
Date date = new Date();
//Full格式的日期格式器对象
DateFormat fullFormat = DateFormat.getDateInstance(DateFormat.FULL);
//Long格式的日期格式器对象
DateFormat longFormat = DateFormat.getDateInstance(DateFormat.LONG);
//MEDIUM格式的日期/时间格式器对象
DateFormat mediumFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);
//SHORT格式的日期/时间格式器对象
DateFormat shortFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);
//打印格式话后的日期或者日期/时间
System.out.println("当前日期的完整格式:"+fullFormat.format(date));
System.out.println("当前日期的长格式:"+longFormat.format(date));
System.out.println("当前日期的普通格式:"+mediumFormat.format(date));
System.out.println("当前日期的短格式:"+shortFormat.format(date));
/*运行结果:
当前日期的完整格式:2021年8月2日 星期一
当前日期的长格式:2021年8月2日
当前日期的普通格式:2021-8-2 14:23:23
当前日期的短格式:21-8-2 下午2:23
*/
long endTime = System.currentTimeMillis(); //循环结束时的当前时间
System.out.println("程序运行时间为:"+(endTime - startTime)+"毫秒"); //程序运行时间为:28毫秒 值不确定
}
}
简述:
调用getDateInstance()方法获得的实例对象用于对日期部分进行格式化,getDateTimeInstance()方法获得的实例对象可以对日期和时间部分进行实例化。
parse(String source)方法,将一个字符串解析成Date对象,要求字符串必须符合日期/时间的格式要求
例子:
package com.sgl;
import java.text.DateFormat;
public class Test {
public static void main(String[] args){
long startTime = System.currentTimeMillis(); //循环开始时的当前时间
//创建一个Dateformat对象
DateFormat dt1 = DateFormat.getDateInstance();
//创建Long格式的DateFormat对象
DateFormat dt2 = DateFormat.getDateInstance(DateFormat.LONG);
//定义两个日期格式的字符串
String str1 = "2021-08-02";
String str2 = "2021年8月2日";
//输出对应格式的字符串解析成Date对象后的结果
System.out.println(dt1.parse(str1)); //Mon Aug 02 00:00:00 CST 2021
System.out.println(dt2.parse(str2)); //Mon Aug 02 00:00:00 CST 2021
long endTime = System.currentTimeMillis(); //循环结束时的当前时间
System.out.println("程序运行时间为:"+(endTime - startTime)+"毫秒"); //程序运行时间为:28毫秒 值不确定
}
}
简述:首先创建了一个普通的DateFormat对象,以及Long格式的DateFormat对象,然后定义了两种日期格式的字符串,最后调用parse()方法将对应的字符串解析成Date对象。