【发布时间】:2019-03-26 13:55:48
【问题描述】:
我想更改从服务器获取的时间并使用以下格式保存到数据库中 - “25-MAR-19 01.23.42.121000000 AM”
如何使用 Java 做到这一点?
尝试了以下没有帮助的代码
import java.sql.Date;
import java.time;
public class MyClass {
public static void main(String args[]) {
final String selectedStart = "2019-03-26T04:31:40-05:00";
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss-XXX'");
final LocalDate parsedDate = LocalDate.parse(selectedStart, formatter);
}
}
【问题讨论】:
-
java.sql.Date在那里做什么? -
您不应将日期/时间值作为字符串存储在数据库中,使用正确的类型(TIMESTAMP WITH TIME ZONE)并使用
java.time.OffsetDateTime使用符合 JDBC 4.2(或更高版本)的方式存储它司机。 -
你说你想以纳秒的精度存储日期,但如果你收到的数据是以秒为单位的,那又有什么意义呢?超过整秒的任何精度都会被弥补?
-
相关:Converting ISO 8601-compliant String to java.util.Date(使用麻烦且过时的
SimpleDateFormat类忽略许多答案)。
标签: java date date-format java-time