更改日期格式并将其存储在mysql中的变量中

时间:2015-06-29 15:30:32

标签: java mysql jdbc

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栏。 有人请帮忙。非常感谢提前:))

1 个答案:

答案 0 :(得分:2)

您正在尝试使用JDBC GetDate() method来检索文本字符串。那是因为您使用DATE_FORMAT()将标准MySQL日期数据类型转换为查询中的字符串。结果值看起来不像日期,所以JDBC会对它进行嘲弄。您可能应该使用GetString()代替。或者,也许您应该在Java代码中而不是在MySQL中转换为所需的日期格式。