我正在尝试使用Java将2020-11-03T14:03:45.173649-05:00
转换为时间戳。
我在这里尝试使用Timestamp.valueOf("2020-11-03T14:03:45.173649-05:00");
,但收到错误消息说java.lang.IllegalArgumentException:Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
。有什么方法可以将具有时区偏移的日期时间转换为时间戳?
答案 0 :(得分:1)
由于这是ISO格式,最简单的方法是先获取OffsetDateTime
,然后转换为Timestamp
:
var input = "2020-11-03T14:03:45.173649-05:00";
var odt = OffsetDateTime.parse(input);
var ts = Timestamp.from(odt.toInstant());
或者,您可以使用SimpleDateFormat
来解析字符串。