formatter.format(new Date());
时间: 2023-11-17 08:35:13 浏览: 41
这行代码使用了Java中的日期格式化类——SimpleDateFormat。它将当前日期对象转换为一个字符串,格式为该日期对象所代表的日期和时间的特定字符串表示形式。具体格式由format方法中的参数指定。在这个例子中,参数为"yyyy-MM-dd HH:mm:ss",代表以年-月-日 时:分:秒的格式输出字符串。
相关问题
优化 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date today = formatter.parse(formatter.format(new Date()));
优化后的代码如下所示:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate today = LocalDate.now();
String todayStr = today.format(formatter);
```
优化的改进点:
1. 使用了Java 8中的新日期时间API(java.time包),而不是旧的SimpleDateFormat类。
2. 使用DateTimeFormatter替代了SimpleDateFormat,提供了更好的线程安全性和易读性。
3. 使用LocalDate.now()获取当前日期,而不是通过new Date()创建一个Date对象。
4. 使用DateTimeFormatter的format方法将LocalDate对象格式化为字符串类型的日期。
通过以上优化,代码更加简洁、可读性更高,并且使用了更现代化的日期时间处理方法。如果需要将日期转换为Date对象,可以使用LocalDate对象的atStartOfDay方法将其转换为LocalDateTime对象,再通过LocalDateTime对象的toInstant方法转换为Date对象。
formatter.format怎么格式化日期
`formatter.format(date)` 是一个用于将日期格式化为字符串的方法。其中 `formatter` 是一个 `java.text.DateFormat` 类型的对象,而 `date` 则是一个 `java.util.Date` 类型的对象,表示需要格式化的日期。
下面是一个简单的例子,演示了如何使用 `formatter.format()` 方法来将日期格式化为不同的字符串格式:
```java
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatter {
public static void main(String[] args) {
Date date = new Date();
// 格式化为 "yyyy-MM-dd"
DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
String strDate1 = dateFormat1.format(date);
System.out.println(strDate1); // 输出:2022-05-28
// 格式化为 "yyyy/MM/dd"
DateFormat dateFormat2 = new SimpleDateFormat("yyyy/MM/dd");
String strDate2 = dateFormat2.format(date);
System.out.println(strDate2); // 输出:2022/05/28
// 格式化为 "yyyy-MM-dd HH:mm:ss"
DateFormat dateFormat3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate3 = dateFormat3.format(date);
System.out.println(strDate3); // 输出:2022-05-28 18:26:30
}
}
```
在上述代码中,我们通过创建不同的 `SimpleDateFormat` 对象,分别使用不同的日期格式来格式化当前日期。最后,使用 `format()` 方法将日期格式化为字符串,并打印输出。