Informix JDBC时间戳字符串格式

Informix JDBC时间戳字符串格式,jdbc,format,timestamp,informix,Jdbc,Format,Timestamp,Informix,我有一个Informix数据库,时间戳字段定义为从年到秒。 当我使用JDBC rs.getString(column)显示此字段时,它使用带毫秒的格式,因此此字段如下所示: 2008-12-18 13:58:14.0 我想它只使用第二年字段。我设置了环境变量: GL_DATETIME=%Y-%m-%D %H:%M:%S 但即使这样,我也有毫秒。使用ODBC的程序不会显示毫秒。如何仅接收时间戳字符串“从年到秒”?在我的程序中,我可以检查元数据字段是否为TIMESTAMP,然后剪切“.0”,但我

我有一个Informix数据库,时间戳字段定义为从年到秒。 当我使用JDBC rs.getString(column)显示此字段时,它使用带毫秒的格式,因此此字段如下所示:

2008-12-18 13:58:14.0
我想它只使用第二年字段。我设置了环境变量:

GL_DATETIME=%Y-%m-%D %H:%M:%S
但即使这样,我也有毫秒。使用ODBC的程序不会显示毫秒。如何仅接收时间戳字符串“从年到秒”?在我的程序中,我可以检查元数据字段是否为TIMESTAMP,然后剪切“.0”,但我认为应该有更简单的方法

服务器版本: IBM Informix动态服务器版本11.50.TC2DE

客户端版本: IBM Informix动态服务器3.50.JC3DE的IBM Informix JDBC驱动程序

编辑
如果我使用getString(),那么我测试的所有其他JDBC驱动程序(Oracle和PostgreSQL)都会以毫秒显示时间戳列。所以我使用了托德提出的解决方案。我检查metatdata,如果列是Timestamp,那么我使用getTimestamp()并格式化它。

如果您使用的是JDBC,那么可以使用rs.getDate(列)或rs.getTimestamp(列)方法,它们分别返回日期和时间戳对象。然后你有一个表示时间的对象,而不是一个直接表示时间的字符串。对于日期或时间戳,您可以使用将其格式化为所选时间的任何字符串表示形式

更新(阅读以下评论后):
如果使用getDate(),它仍然适用于时间戳列。它只会将精度降低到第二级。这样,您就不必检查元数据,只需知道该列是某种时间戳或日期。

OK。但我的程序不做报告,用户可以选择任何表和字段,所以如果返回的列是日期/时间戳类型,则此解决方案需要检查ResultSet元数据。我考虑了更通用的解决方案。感谢您提供了好的版本信息。这有帮助!