import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.*;
public class sql_type4
{
public static void main(String args[]){
Date fun;
Date fun2;
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mca2b","root","siddheshkk");
Statement stmt=con.createStatement();
ResultSet result=stmt.executeQuery("SELECT id,name, DATE_FORMAT(FROM_UNIXTIME(dateee),'%d/%m/%Y') as datee from empwhere dateee >= curdate()");
while(result.next())
{
fun=result.getDate("datee");
System.out.println(fun);
}
con.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
}
这里我只想更改日期格式并将结果存储在一个变量中。那我该怎么办呢? 上面的代码为日期' 22/08/1970'提供了错误的格式错误。在第3栏。 有人请帮忙。非常感谢提前:))
答案 0 :(得分:2)
您正在尝试使用JDBC GetDate() method来检索文本字符串。那是因为您使用DATE_FORMAT()将标准MySQL日期数据类型转换为查询中的字符串。结果值看起来不像日期,所以JDBC会对它进行嘲弄。您可能应该使用GetString()代替。或者,也许您应该在Java代码中而不是在MySQL中转换为所需的日期格式。