参见英文答案 >
Convert LocalDate to LocalDateTime or java.sql.Timestamp 7个
如何将Localdatetime转换为时间戳?我想使用新的SE 8 date api,因为它比使用日期和日历更好.我计划在整个程序中使用localdatetime,然后将该日期放入mysql数据库.我找了一个答案但是java.time似乎没有很多问题和答案.这是我正在测试的一些代码.这是我得到的.
LocalDateTime c = LocalDateTime.now();
java.sql.Timestamp javaSqlDate = new java.sql.Timestamp(c.getLong());
我想我需要把它转换成一个很长的,但我不知道如何. api允许转换单个元素,如月和日,但不是整个日期.由于我已经在这里,你如何从时间戳转换回来?我应该只使用jodatime吗?
我试过这个:
LocalDateTime c = LocalDateTime.now();
ZoneId zoneId = ZoneId.systemDefault();
System.out.println("this:" + c);
java.sql.Timestamp javaSqlDate = new java.sql.Timestamp(c.atZone(zoneId).toEpochSecond());
pst.setTimestamp(2, javaSqlDate);
这仅保存1970年左右的日期.system.print正确打印当前日期.我希望它保存当前日期.