Java 查询在不同的操作系统上提供不同的输出
我已经用Java编写了以下函数。此函数通过执行查询返回当前时间戳。功能代码如下:Java 查询在不同的操作系统上提供不同的输出,java,mysql,windows,linux,Java,Mysql,Windows,Linux,我已经用Java编写了以下函数。此函数通过执行查询返回当前时间戳。功能代码如下: private String getTimeStamp(){ String timeStamp=null; try{ String strQuery="select current_timestamp"; PreparedStatement pmtQuery=con.prepareStatement(strQuery); ResultSe
private String getTimeStamp(){
String timeStamp=null;
try{
String strQuery="select current_timestamp";
PreparedStatement pmtQuery=con.prepareStatement(strQuery);
ResultSet rsQuery=pmtQuery.executeQuery();
rsQuery.next();
timeStamp=rsQuery.getString(1);
JOptionPane.showMessageDialog(null, "Value of timeStamp : "+timeStamp);
}catch(SQLException e){
System.out.println("SQL Exception in the getTimeStamp()");
}
return timeStamp;
}
当我在windows上使用此功能时,它提供了适当的输出,工作正常。
前
如果在widows中执行上述函数,则会给出时间戳,如ex.2011-06-01 17:05:03
但当我在DebinaLinux中执行此函数时,它会给出如下时间戳
2011-06-01 17:05:03.0
它在时间戳后面附加.0
请指导我解决这个问题
1.why such different output comes on different system?
2.How to avoid this problem?
3.How to solve this problem?
1.为什么不同的系统会有如此不同的输出?
2.如何避免这个问题?
3.如何解决这个问题?
我正在使用以下配置
窗户
windows 7、Mysql数据库、Java 6
Linux
Debian linux、Mysql数据库、Java 6
谢谢大家! 用这个
SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y %hh%mm%ss')
注意:
我想知道您为什么要查询以获取当前日期使用此
SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y %hh%mm%ss')
注意:
我想知道为什么您要查询以获取当前日期它不可移植,但您可以使用日期格式功能:
SELECT DATE_FORMAT(CURRENT_TIMESTAMP, '%d/%m/%Y %h:%i:%s');
文档是它不可移植,但您可以使用日期格式功能:
SELECT DATE_FORMAT(CURRENT_TIMESTAMP, '%d/%m/%Y %h:%i:%s');
文档是您也可以使用
SimpleDateFormat
这是一个简单的日期格式化程序。您也可以使用
SimpleDateFormat
这是一个简单的日期格式化程序。问题可能是JDBC驱动程序的不同(默认)设置 我更愿意将时间戳作为
时间戳
(java.util.Date的子类)获取:
通过这种方式,您可以根据需要控制如何在Java代码中对其进行格式化(例如,使用
SimpleDataFormat
或String.format
)。问题可能是JDBC驱动程序的不同(默认)设置
我更愿意将时间戳作为时间戳
(java.util.Date的子类)获取:
通过这种方式,您可以根据需要控制如何在Java代码中对其进行格式化(例如,使用
SimpleDataFormat
或String.format
)。尝试将参数检索为日期而不是字符串。尝试将参数检索为日期而不是字符串。为什么?最终从数据库服务器获取当前日期和时间(与当前系统的日期和时间相反)。或者只是一个测试/显示问题的示例。为什么?最终从数据库服务器获取当前日期和时间(与当前系统的日期和时间相反)。或者只是一个测试/显示问题的示例。