专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java时间格式化示例

Java时间格式化示例

更新时间:2022-08-05 10:27:16 来源:赢咖4 浏览835次

Java SimpleDateFormat 和 DateFormat 类用于日期格式化。它主要用于我们需要显示或利用 Java 的日期和时间功能的地方。这两个类都存在于com.text包中。

DateFormat 用于根据作为输入提供的特定语言环境将日期格式化为字符串。

区域设置用于指定区域和语言,以使代码对用户更具区域设置。

世界不同地区的日期书写方式不同。例如,2017 年 12 月 31 日在印度将写为 31-12-2017,但在美国将写为 12-31-2017。

日期格式类不同步,建议为每个线程创建单独的实例。

创建 DateFormat 实例

可以使用DateFormat 类的getDateInstance()and方法创建 DateFormat 对象。getTimeInstance()

Locale loc = new Locale("en", "US");
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.DEFAULT, loc);

如上例所示,getDateInstanceDateFormat 方法需要两个输入参数,第一个参数指定要使用的 DateFormat,第二个参数是 locale。

Java 日期格式示例

DateFormat 类有一个负责格式化的格式化方法。

Locale locale = new Locale("fr", "FR");
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.DEFAULT, locale);
String date = dateFormat.format(new Date());
System.out.print(date);

输出:3 janv. 2018在上面的示例中,我们使用getDateInstance()方法来创建 DateFormat 实例。为了执行时间格式,我们需要一个时间实例。我们将使用 getTimeInstance() 方法来获取时间实例。

Locale locale = new Locale("fr", "FR");
DateFormat dateFormat = DateFormat.getTimeInstance(DateFormat.DEFAULT, locale);
String date = dateFormat.format(new Date());
System.out.print(date);

输出:11:03:01

Java 简单日期格式

SimpleDateFormat 与 DateFormat 非常相似,它们之间唯一的主要区别是 SimpleDateFormat 可用于格式化(日期到字符串转换)和解析(字符串到日期转换),支持语言环境,而 DateFormat 不支持语言环境。此外,DateFormat 是一个抽象类,为日期格式化和解析提供基本支持,SimpleDateFormat 是扩展 DateFormat 类的具体类。

创建 SimpleDateFormat 实例

SimpleDateFormat 可以使用 SimpleDateFormat 构造函数创建,构造函数是一个参数化的构造函数,需要一个字符串模式作为参数。

String pattern = "MM-dd-yyyy";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);

在上面的示例中,字符串模式是用于格式化日期的模式,输出将在该模式中生成为“MM-dd-yyyy”。

Java SimpleDateFormat 示例

为了解析日期,我们需要使用构造函数创建一个 SimpleDateFormat 实例,然后使用 format() 方法。让我们看一个使用 SimpleDateFormat 格式化日期的示例。

String pattern = "MM-dd-yyyy";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
String date = simpleDateFormat.format(new Date());
System.out.println(date);

输出:01-02-2018在上面的示例中,日期是 2018 年 1 月 2 日。为了解析时间,我们必须在创建 SimpleDateFormat 实例时更改模式。

String pattern = " HH:mm:ss.SSSZ";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
String date = simpleDateFormat.format(new Date());
System.out.println(date);

输出:13:03:15.454+0530在上面的示例中,模式是时间模式,当前时间的格式是基于模式完成的。

使用 SimpleDateFormat 解析

解析是将字符串转换为java.util.Date实例。parse()我们可以使用SimpleDateFormat 类的方法将字符串解析为日期实例。为了将字符串解析为日期,我们需要一个 SimpleDateFormat 类的实例和一个字符串模式作为该类构造函数的输入。

String pattern = "MM-dd-yyyy";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
Date date = simpleDateFormat.parse("12-01-2018");
System.out.println(date);

输出:Sat Dec 01 00:00:00 IST 2018现在让我们看一下 SimpleDateFormat 示例来解析时间。

String pattern = "HH:mm:ss";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
Date date = simpleDateFormat.parse("22:00:03");
System.out.println(date);

输出:Thu Jan 01 22:00:03 IST 1970在上面的例子中,因为我们没有指定任何日期,程序将纪元视为日期,即 01-Jan-1970。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>