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

如何使用Java函数实现日期格式化输出

发布时间:2023-06-05 19:05:42

在Java中,日期格式化是非常重要的操作。由于不同国家和地区使用不同的日期格式,因此需要格式化日期以在不同地区进行正确的显示和处理。Java中提供了许多日期格式化函数,可以按照需要对日期进行格式化输出。本文将介绍如何使用Java函数实现日期格式化输出。

Java中日期格式化的基本原理是将日期对象转换为字符串,并按照指定格式输出。Java中提供了许多日期格式化函数,主要包括SimpleDateFormat和DateTimeFormatter两种,下面将分别介绍这两种日期格式化函数的使用方法。

1. SimpleDateFormat

SimpleDateFormat是一个非常常用且易于使用的日期格式化函数,它可以根据指定的格式将一个日期对象转换为字符串。

示例代码:

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

public class DateFormatTest {

    public static void main(String[] args) {
        Date date = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String strDate = dateFormat.format(date);
        System.out.println(strDate);
    }
 
}

输出结果:

2021-06-07 15:32:53

SimpleDateFormat中常用的日期格式符号如下:

| 格式符号 | 含义 |

| -------- | ---- |

| yyyy | 年 |

| MM | 月 |

| dd | 日 |

| HH | 时 |

| mm | 分 |

| ss | 秒 |

2. DateTimeFormatter

DateTimeFormatter是Java 8中新增的日期格式化函数,它提供了更加丰富和灵活的日期格式化方式,支持多线程并发操作,也可以通过链式调用构建出复杂的日期格式。

示例代码:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateFormatTest2 {

    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String strDate = dateFormat.format(now);
        System.out.println(strDate);
    }
 
}

输出结果:

2021-06-07 15:50:18

DateTimeFormatter中常用的日期格式符号如下:

| 格式符号 | 含义 |

| -------- | ----------------------------- |

| yyyy | 年份(四位数) |

| yy | 年份(两位数) |

| MM | 月份(01-12) |

| MMM | 月份缩写(Jan-Dec) |

| MMMM | 月份全称(January-December) |

| dd | 日期(01-31) |

| D | 一年中的第几天 |

| E | 星期几(Sun-Sat) |

| HH | 小时(00-23) |

| kk | 小时(01-24) |

| hh | 小时(01-12) |

| KK | 小时(00-11) |

| mm | 分钟(00-59) |

| ss | 秒钟(00-59) |

| S | 毫秒 |

| a | 上午/下午 |

| z | 时区 |

需要注意的是,SimpleDateFormat是非线程安全的,因此在多线程并发的环境下使用时需要使用线程安全的DateFormat子类,或者使用ThreadLocal对DateFormat进行封装。而DateTimeFormatter是线程安全的,可以直接使用。