Java 时间格式的 字符串 转换成Date类型
时间: 2024-05-14 18:13:32 浏览: 88
可以使用SimpleDateFormat类的parse方法将字符串转换成Date类型,代码如下:
```
String str = "2021-05-01 12:30:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date = sdf.parse(str);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
```
相关问题
如何解决Java中将日期字符串转换为Date对象时发生‘无法将字符串转换为java.util.Date类型’的问题?
在Java中,将日期字符串转换为`java.util.Date`对象时遇到“无法转换”的错误通常是因为日期字符串格式与`SimpleDateFormat`(或其前身`DateFormatter`)所期望的格式不符。解决这个问题需要以下几个步骤:
1. **创建正确的日期格式解析器**:
使用`SimpleDateFormat`构造函数,指定输入日期字符串的格式,例如:"yyyy-MM-dd"、"MM/dd/yyyy"等。例如:
```java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
```
2. **尝试转换**:
然后使用`parse()`方法尝试将字符串转换为日期。如果格式匹配,将会返回一个`Date`对象;如果格式不匹配,则会抛出异常。
```java
try {
Date date = sdf.parse(dateString);
} catch (ParseException e) {
// 处理解析失败的情况
e.printStackTrace();
}
```
3. **处理异常**:
如果在`parse()`方法中捕获到`ParseException`,说明日期字符串的格式有问题,可以记录错误信息,并提供用户友好的提示,或者尝试使用不同的日期解析模式。
4. **预防未初始化的异常**:
建议在创建`SimpleDateFormat`对象时就设置它,避免在运行时因找不到默认的本地化格式而引发NullPointerException。
记得在实际应用中,最好使用try-with-resources语句来自动关闭资源,如:
```java
try (SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd")) {
Date date = sdf.parse(dateString);
} catch (ParseException e) {
// ...
}
```
java String字符串转换成Date时间
在Java中,可以使用SimpleDateFormat类将字符串转换为Date类型的时间。下面是一个示例代码:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringToDateExample {
public static void main(String[] args) {
String strDate = "2022-11-11 11:11:11";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date = formatter.parse(strDate);
System.out.println(date);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们首先定义了一个字符串表示时间,然后创建了一个SimpleDateFormat对象,指定日期时间的格式为“yyyy-MM-dd HH:mm:ss”。最后,我们使用parse方法将字符串转换为Date类型的时间对象。
阅读全文