📅  最后修改于: 2023-12-03 14:42:51.777000             🧑  作者: Mango
SimpleDateFormat
是 Java 中用于日期格式化和解析的类。它是继承自 java.text.DateFormat
的一个具体实现。SimpleDateFormat
允许我们将日期对象格式化为字符串,或者将字符串解析为日期对象。
format()
方法是 SimpleDateFormat
中用于格式化日期的方法。它的签名如下:
public String format(Date date)
format()
方法接受一个 Date
对象作为参数,将其格式化为字符串后返回。
下面是一个示例代码,演示如何使用 SimpleDateFormat
的 format()
方法将日期格式化为字符串:
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
,并调用 dateFormat
的 format()
方法将其格式化为字符串,赋值给 formattedDate
变量。最后,将格式化后的日期字符串打印出来。
除了格式化日期,SimpleDateFormat
还可以将字符串解析为日期对象。其中,parse()
方法用于解析字符串,其签名如下:
public Date parse(String source)
throws ParseException
parse()
方法接受一个字符串作为参数,将其解析为一个 Date
对象后返回。如果解析失败,将抛出 ParseException
异常。
以下是一个示例代码,演示如何使用 SimpleDateFormat
的 parse()
方法将字符串解析为日期对象:
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
,然后使用 dateFormat
的 parse()
方法尝试将其解析为日期对象。如果解析成功,将打印解析后的日期;如果解析失败,将捕获 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 文档。
在使用 SimpleDateFormat
的 format()
方法进行日期格式化时,要注意以下几点:
SimpleDateFormat
是不安全的,因为它的实例不是线程安全的。如果需要在线程之间共享或重用 SimpleDateFormat
实例,请考虑使用线程安全的 java.time.format.DateTimeFormatter
。以上是关于 Java 中 SimpleDateFormat
的 format()
方法及示例的介绍,通过 format()
方法可以轻松地将日期格式化为字符串,或将字符串解析为日期对象,方便进行日期的处理和显示。