📜  Java中的 SimpleDateFormat format() 方法及示例(1)

📅  最后修改于: 2023-12-03 14:42:51.777000             🧑  作者: Mango

Java中的 SimpleDateFormat format() 方法及示例

SimpleDateFormat 是 Java 中用于日期格式化和解析的类。它是继承自 java.text.DateFormat 的一个具体实现。SimpleDateFormat 允许我们将日期对象格式化为字符串,或者将字符串解析为日期对象。

格式化日期

format() 方法是 SimpleDateFormat 中用于格式化日期的方法。它的签名如下:

public String format(Date date)

format() 方法接受一个 Date 对象作为参数,将其格式化为字符串后返回。

下面是一个示例代码,演示如何使用 SimpleDateFormatformat() 方法将日期格式化为字符串:

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

public class SimpleDateFormatExample {
    public static void main(String[] args) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

        Date currentDate = new Date();
        String formattedDate = dateFormat.format(currentDate);
        
        System.out.println("Formatted Date: " + formattedDate);
    }
}

以上代码中,我们首先创建了一个 SimpleDateFormat 实例 dateFormat,并指定了日期格式为 "yyyy-MM-dd"。然后,获取当前日期对象 currentDate,并调用 dateFormatformat() 方法将其格式化为字符串,赋值给 formattedDate 变量。最后,将格式化后的日期字符串打印出来。

日期解析

除了格式化日期,SimpleDateFormat 还可以将字符串解析为日期对象。其中,parse() 方法用于解析字符串,其签名如下:

public Date parse(String source)
    throws ParseException

parse() 方法接受一个字符串作为参数,将其解析为一个 Date 对象后返回。如果解析失败,将抛出 ParseException 异常。

以下是一个示例代码,演示如何使用 SimpleDateFormatparse() 方法将字符串解析为日期对象:

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

public class SimpleDateFormatExample {
    public static void main(String[] args) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        
        String dateString = "2022-01-01";
        try {
            Date parsedDate = dateFormat.parse(dateString);
            System.out.println("Parsed Date: " + parsedDate);
        } catch (ParseException e) {
            System.out.println("Failed to parse date.");
        }
    }
}

在上述代码中,我们定义了一个日期字符串 dateString,然后使用 dateFormatparse() 方法尝试将其解析为日期对象。如果解析成功,将打印解析后的日期;如果解析失败,将捕获 ParseException 异常,并打印出解析失败的提示信息。

支持的日期格式

SimpleDateFormat 支持许多日期格式,用于指定日期的输出或输入格式。下面列出了一些常见的日期格式符号及其含义:

  • y:年份(例如,2022)
  • M:月份(例如,1月、01、Jan)
  • d:日期(例如,1日、01)
  • H:24小时制的小时数(例如,15、03)
  • h:12小时制的小时数(例如,3、03)
  • m:分钟(例如,30)
  • s:秒(例如,45)
  • E:星期几名称(例如,Sat、星期六)

以上只是一部分常见格式符号,更详细的日期格式符号说明请参考 Java 文档。

注意事项

在使用 SimpleDateFormatformat() 方法进行日期格式化时,要注意以下几点:

  • 使用正确的日期格式符号,否则结果可能不如预期。
  • 在多线程环境下使用 SimpleDateFormat 是不安全的,因为它的实例不是线程安全的。如果需要在线程之间共享或重用 SimpleDateFormat 实例,请考虑使用线程安全的 java.time.format.DateTimeFormatter

以上是关于 Java 中 SimpleDateFormatformat() 方法及示例的介绍,通过 format() 方法可以轻松地将日期格式化为字符串,或将字符串解析为日期对象,方便进行日期的处理和显示。