java-DateFormat

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

1.1      日期格式

要格式化一个当前语言环境下的日期也就是日期 -> 文本),要通过下面的方法来完成。DateFormat是抽象类,我们需要使用其子类SimpleDateFormat来创建对象

l  构造方法

l  DateFormat类方法

代码演示:

//创建日期格式化对象,在获取格式化对象时可以指定风格

DateFormat df= new SimpleDateFormat("yyyy-MM-dd");//对日期进行格式化

Date date = new Date(1607616000000L);

String str_time = df.format(date);

System.out.println(str_time);//2020年12月11日

l  DateFormat类的作用:即可以将一个Date对象转换为一个符合指定格式的字符串,也可以将一个符合指定格式的字符串转为一个Date对象。

指定格式的具体规则我们可参照SimpleDateFormat类的说明,这里做简单介绍,规则是在一个字符串中,会将以下字母替换成对应时间组成部分,剩余内容原样输出:

当出现y时,会将y替换成年

当出现M时,会将M替换成月

当出现d时,会将d替换成日

当出现H时,会将H替换成时

当出现m时,会将m替换成分

l  当出现s时,会将s替换成秒

1.2      DateFormat类常用方法

format方法,用来将Date对象转换成String

parse方法,用来将String转换成Date(转换时,该String要符合指定格式,否则不能转换)。

代码演示:

练习一:把Date对象转换成String

     Date date = new Date(1607616000000L);//Fri Dec 11 00:00:00 CST 2020

    DateFormat df = new SimpleDateFormat(“yyyy年MM月dd日”);

    String str = df.format(date);

    //str中的内容为2020年12月11日

 

练习二:把String转换成Date对象

    String str = ”2020年12月11日”;

    DateFormat df = new SimpleDateFormat(“yyyy年MM月dd日”);

    Date date = df.parse( str );

    //Date对象中的内容为Fri Dec 11 00:00:00 CST 2020

例:

package cn.itcast.demo02;

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

/*
* DateFormat类方法 parse
* 将字符串解析为日期对象
* Date parse(String s) 字符串变成日期对象
* String => Date parse
* Date => String format
*
*/
public class SimpleDateFormatDemo1 {
public static void main(String[] args) throws Exception{
function();
}
/*
* 将字符串转成Date对象
* DateFormat类方法 parse
* 步骤:
* 1. 创建SimpleDateFormat的对象
* 构造方法中,指定日期模式
* 2. 子类对象,调用方法 parse 传递String,返回Date
*
* 注意: 时间和日期的模式yyyy-MM-dd, 必须和字符串中的时间日期匹配
* 1995-5-6
*
* 但是,日期是用户键盘输入, 日期根本不能输入
* 用户选择的形式
*/
public static void function() throws Exception{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse("1995-5-6");
System.out.println(date);
}
}

 

原文地址:https://www.cnblogs.com/zimo-bwl1029-s/p/9194707.html