SimpleDateFormat.parse()和SimpleDateFormat.format()分别是什么
时间: 2023-11-23 19:57:33 浏览: 75
SimpleDateFormat是Java中的一个日期格式化类,它可以将Date对象转换为指定格式的字符串,也可以将符合指定格式的字符串解析成Date对象。其中,SimpleDateFormat.parse()方法用于将符合指定格式的字符串解析成Date对象,而SimpleDateFormat.format()方法则用于将Date对象转换为指定格式的字符串。
例如,我们可以使用以下代码将当前时间按照指定格式输出:
```
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = sdf.format(new Date());
System.out.println(now);
```
这段代码会将当前时间以"yyyy-MM-dd HH:mm:ss"的格式输出,如"2021-08-10 14:30:00"。如果我们有一个符合该格式的字符串,我们也可以使用parse()方法将其解析成Date对象:
```
String str = "2021-08-10 14:30:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(str);
```
这段代码会将字符串"2021-08-10 14:30:00"解析成对应的Date对象。
相关问题
SimpleDateFormat.parse("")
在 Java 中,SimpleDateFormat 类用于将字符串解析为日期对象。对于空的字符串,SimpleDateFormat.parse("") 会抛出 ParseException 异常,因为无法解析空字符串为日期。你可以在解析字符串之前,先判断字符串是否为空。以下是一个示例代码:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) {
String dateString = ""; // 空字符串
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
if (!dateString.isEmpty()) {
Date date = format.parse(dateString);
System.out.println(date);
} else {
System.out.println("日期字符串为空");
}
} catch (ParseException e) {
System.out.println("无法解析日期字符串");
}
}
}
```
在上面的示例中,我们先通过判断字符串是否为空来避免解析空字符串引发异常。如果字符串不为空,我们才会尝试将其解析为日期对象,否则会输出相应的提示信息。
try { Date formatDate = simpleDateFormat.parse(date); String dateStr = newSimpleDateFormat.format(formatDate); return dateStr; } catch (ParseException e) { e.printStackTrace(); } return null;
这段代码中,首先使用 simpleDateFormat 对象将 date 字符串解析为一个 Date 对象,然后使用 newSimpleDateFormat 对象将 Date 对象转换为指定格式的字符串。如果解析过程中出现 ParseException 异常,则在控制台输出异常信息,然后返回 null。如果解析成功,则返回指定格式的字符串日期。
阅读全文