欢迎访问宙启技术站
智能推送

Java函数如何实现日期与时间的格式化输出?

发布时间:2023-05-31 05:27:31

Java是一种面向对象的编程语言,它支持日期时间的格式化输出。Java提供了多种日期和时间格式化类和方法,例如SimpleDateFormat,DateTimeFormatter等,可以很轻松地把日期和时间格式化为指定的样式。

1. SimpleDateFormat类

SimpleDateFormat是Java中最常用的日期时间格式化类,它提供了一种非常方便的方式来格式化日期和时间。SimpleDateFormat类有以下几个方法:

- 日期时间格式方法

public void applyPattern(String pattern) //设置日期时间格式
public String format(Date date) //根据指定格式返回日期时间字符串

- 其它方法

public void setTimeZone(TimeZone zone) //设置时区
public Date parse(String source) throws ParseException //将字符串解析为日期

2. DateTimeFormatter类

DateTimeFormatter是Java 8中新增的日期时间格式化类,它提供了一种格式化日期和时间的新方式,支持更多的格式控制符。DateTimeFormatter类有以下几个方法:

- 静态方法

public static DateTimeFormatter ofPattern(String pattern) //创建日期时间格式化对象

- 实例方法

public String format(TemporalAccessor temporal) //格式化日期时间
public TemporalAccessor parse(CharSequence text) //将文本解析为日期时间对象
public TemporalAccessor parse(CharSequence text, ParsePosition position) //将文本解析为日期时间对象

3. 日期时间格式化样式

日期时间格式化样式是用于格式化日期和时间的字符串,它由若干个格式控制符和文本组成。以下是一些常用的日期时间格式样式:

- yyyy:年份,如2019

- MM:月份,如10

- dd:日,如05

- HH:24小时制的小时,如15

- mm:分钟,如30

- ss:秒,如00

- SSS:毫秒,如500

- EEEE:星期几,如星期一

- Z:时区,如+0800

4. 日期时间格式化示例

下面是一些常用的例子,可以参考以下代码:

//使用SimpleDateFormat类格式化日期时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(new Date());
System.out.println(dateStr);

//使用DateTimeFormatter类格式化日期时间
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String dateStr = dtf.format(LocalDateTime.now());
System.out.println(dateStr);

上述示例中, 行代码通过SimpleDateFormat类将当前时间格式化为"yyyy-MM-dd HH:mm:ss"的字符串,第二行代码通过DateTimeFormatter类将当前时间格式化为同样的字符串。需要注意的是,SimpleDateFormat是线程不安全的,因此不要将它声明为静态变量并在多个线程中共享。如果需要在多线程中使用SimpleDateFormat,可以考虑使用ThreadLocal来保证线程安全。