Java 以 12 小时格式格式化日期

时间的小时部分以两种方式表示:

  • 'hh' - 12 小时格式的小时数
  • 'HH' - 24 小时制的小时数

此外,我们可以使用“a”来显示 AM/PM 信息。

下面的示例中,对于 Date 和 Calendar 类,我们将使用 SimpleDateFormat 而对于其他类,我们将使用 DateTimeFormatter。

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
public class Main 
{
    public static void main(String[] args) 
    {
        String pattern = "hh:mm:ss a";
        DateFormat dateFormat = new SimpleDateFormat(pattern);

        //1. LocalDate
        LocalTime now = LocalTime.now();
        System.out.println(now.format(DateTimeFormatter.ofPattern(pattern)));

        //2. LocalDateTime
        LocalDateTime nowTime = LocalDateTime.now();
        System.out.println(nowTime.format(DateTimeFormatter.ofPattern(pattern)));

        //3. ZonedDateTime
        ZonedDateTime zonedTime = ZonedDateTime.now();
        System.out.println(zonedTime.format(DateTimeFormatter.ofPattern(pattern)));

        //4. Date
        Date today = new Date();
        System.out.println(dateFormat.format(today));

        //4. Calendar
        Calendar calToday = Calendar.getInstance();
        System.out.println(dateFormat.format(calToday.getTime()));
    }
}

输出:

07:35:55 PM
07:35:55 PM
07:35:55 PM
07:35:55 PM
07:35:55 PM
日期:2020-09-17 00:09:19 来源:oir作者:oir