从数据库中检索的时间是00:00:00

时间:2019-03-05 08:50:47

标签: java mysql web-applications

我的MySQL数据库中有一个数据类型为datetime的列,但是当我从该列检索数据时,它显示的时间是00:00:00,而不是我存储的时间。

public class MainWork extends TimerTask {

私有静态最终DateFormat sdf = new SimpleDateFormat(“ yyyy / MM / dd HH:mm:ss”);     public void run(){

    try{

        Class.forName("com.mysql.cj.jdbc.Driver");  
        Connection con =DriverManager.getConnection(  
        "jdbc:mysql://localhost:3306/reminder","sarthak","sar31thak");  
        Statement stmt=con.createStatement();

        ResultSet rs= stmt.executeQuery("select * from ToDo");
        while(rs.next()){
            SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            Date dt = new Date();
            dt=rs.getDate(2);
            String activity=rs.getString(1);
            String str= sdf.format(dt); 
            Date localDate = new Date();
            String today;
            today=sdf.format(localDate);
            if(str.equals(today)){

                JOptionPane optionPane = new JOptionPane(activity,JOptionPane.WARNING_MESSAGE);
                JDialog dialog = optionPane.createDialog("REMINDER");
                //Toolkit.getDefaultToolkit().beep();
                dialog.setAlwaysOnTop(true); // to show top of all other application
                dialog.setVisible(true); // to visible the dialog

            }
            else
            {
             continue;

            }
        }
    }
    catch (Exception e)
    {System.out.println("Got an ERROR");}
}

public static void main(String args[]){
    Timer t1 = new Timer();
    t1.schedule(new MainWork(), 0,60000);


}

}

1 个答案:

答案 0 :(得分:0)

不起作用,因为您仅获得Date并转换为"yyyy/MM/dd HH:mm:ss"。这就是为什么您得到00:00:00的原因。

使用getDate()仅返回Date

您应该尝试,

rs.getTimestamp();