Java 如何生成当前日期,并将其存储在postgreSQL数据库中
我需要在postgresql数据库中存储当前日期。所以,我使用哪种格式的日期来匹配postgresql的日期格式,以及如何在java中获取它Java 如何生成当前日期,并将其存储在postgreSQL数据库中,java,postgresql,date,Java,Postgresql,Date,我需要在postgresql数据库中存储当前日期。所以,我使用哪种格式的日期来匹配postgresql的日期格式,以及如何在java中获取它 date = Date.valueOf(LocalDate.now()); String SQL = "insert into aqitable values(?,?,?,?,?,?,?,?,?,?,?,?,?)"; jdbcTemplateObject.update(SQL,state,city,location,date,pm10,pm
date = Date.valueOf(LocalDate.now());
String SQL = "insert into aqitable values(?,?,?,?,?,?,?,?,?,?,?,?,?)";
jdbcTemplateObject.update(SQL,state,city,location,date,pm10,pm2dot5,no2,o3,co,so2,nh3,pb,AQI);
tl;博士
细节
没有附加任何条件。所以不需要“格式”
要在数据库中存储日期时间值,需要定义一个具有日期时间数据类型的列,并通过数据库传递日期时间Java对象
获取当前日期需要时区。在任何一个特定的时刻,世界各地的日期都因地区而异
ZoneId z = ZoneId.of( "America/Montreal" ) ;
LocalDate ld = LocalDate.now( z ) ;
如果您的JDBC驱动程序符合JDBC 4.2及更高版本,请直接传递现代java.time类型。打电话
如果不兼容,请简单地回到麻烦的遗留java.sql类型。通过添加到旧类中的新方法转换到java.time或从java.time转换。在这种情况下
给我们看一些代码。您使用的是什么JPA或JDBC与java类似,Postgres Date在插入时没有任何内在格式,它是作为日期而不是字符串插入的
java.sql.Date
?如果您询问如何从java执行此操作,答案是您将使用JDBC和Postgres驱动程序,而且你所要求的大部分内容都会自动在后台处理。日期应该存储为日期,而不是特定格式的字符串
ZoneId z = ZoneId.of( "America/Montreal" ) ;
LocalDate ld = LocalDate.now( z ) ;
myPreparedStatement.setObject( … , ld ) ;
myPreparedStatement.setDate( … , java.sql.Date.valueOf( ld ) ) ;