在Java中String类型的时间戳如何赋值给Data类型的值
时间: 2024-09-22 11:02:15 浏览: 30
各种数据库数据类型对映.doc
在Java中,字符串形式的时间戳通常是以某种固定的格式存储日期和时间,如"yyyy-MM-dd HH:mm:ss" 或 "yyyyMMddHHmmss"等。如果你有一个这样的字符串,并想要将其赋值给 `java.util.Date` 或 `java.sql.Timestamp` 类型,你需要先将它转换成对应的日期对象。
例如,你可以使用 `SimpleDateFormat` 或 `java.time.LocalDate` 和 `LocalDateTime` 来完成这个转换:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
// 如果时间戳字符串格式是 yyyy-MM-dd HH:mm:ss
String timestampStr = "2022-12-31 23:59:59";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(timestampStr);
// 如果是java.sql.Timestamp,可以直接构造
Timestamp sqlTimestamp = new Timestamp(date.getTime());
// 或者使用java.time包
import java.time.LocalDateTime;
LocalDateTime localDateTime = LocalDateTime.parse(timestampStr);
sqlTimestamp = LocalDateTimeToDate(sqlTimestamp, localDateTime.atZone(ZoneId.systemDefault()).toInstant());
// 将LocalDateTime转换为Timestamp的函数
public static Timestamp LocalDateTimeToDate(Timestamp oldTimestamp, Instant dateTime) {
return Timestamp.from(dateTime.atZone(ZoneId.systemDefault()).toInstant());
}
```
阅读全文