常用时间类之DateFormat

位置

在这里插入图片描述
由此可见,DateFormat属于二级继承。
其还有一个直接子类:
在这里插入图片描述
稍后再看它。
DateFormat是一个抽象类哦。

功能

它可以帮你格式化和解析任何日期在任何地点,可以独立于地点日期约定以任何格式操作。
这个类就是一个格式化器,相当于你有一个日期对象,然后你可以把这个格式化器作用于这个日期对象以便得到你想要的结果。

public static void main(String[] args) {
		
		DateFormat d=DateFormat.getDateInstance(DateFormat.LONG, Locale.ENGLISH);
		Date t=new Date(119,11,8,16,27,00);//年为1900+119,此处提供的年值是你需要的年份减去1900
		System.out.println(t.getTime());
		String ts=d.format(t);
		System.out.println(ts);
	}
	结果:
	1575793620000
	December 8, 2019
public static void main(String[] args) {
		
		DateFormat d=DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA);
		Date t=new Date(119,11,8,16,27,00);
		System.out.println(t.getTime());
		String ts=d.format(t);
		System.out.println(ts);
	}
	结果:
	1575793620000
	2019128

不同的格式,会的出来不同的结果,以当地的时间格式约定为准。
解析时间和格式化时间简单来说就是相对的关系。
在这里插入图片描述
同时,日期格式化是非同步的。所以,官方推荐为每一个线程创建一个格式化句柄(如果需要)。否则就需要自己实现同步。

内部类

在这里插入图片描述
只有这一个,定义了一些常量。

在这里插入图片描述
这里都是static态的,可以直接调用,定义了一些样式模式,
例如,DateFormat.SHORT–>2019/12/8
DateFormat.LONG–>2019年12月8日

构造函数

只是一个被保护的构造函数
在这里插入图片描述

方法

大部分都是静态方法。这里列举最常见的一个。
在这里插入图片描述

public static void main(String[] args) throws ParseException {
		
		DateFormat d=DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.CHINA);
		Date t=new Date(119,11,8,16,27,00);
		System.out.println(t.getTime());
		String ts=d.format(t);
		System.out.println(ts);
		Date t1=d.parse(ts);
		System.out.println(t1.toLocaleString());
	}
	输出:
	1575793620000
	20191282019128日 上午12:00:00
发布了75 篇原创文章 · 获赞 14 · 访问量 944

猜你喜欢

转载自blog.csdn.net/qq_41148461/article/details/102975353
今日推荐