您的位置:首页 > 编程语言 > Java开发

Java Date类型和mysql中 Datetime类型的转换

2017-12-25 17:20 746 查看
//将java中的date转换成毫秒 并传入Timestamp构造函数里 返回timestamp 

Timestamp timestamp=new Timestamp(date.getTime());

//插入数据

psta2.setTimestamp(12,timestamp);

之前都是用string格式存储时间(date)类型,相应的在数据库选择varchar格式进行存储,现在需要做时间方面的比较,如果单单是取出来比较也没什么麻烦的,关键是在sql语句中就进行比较,String类型就无法满足需要了。

首先,想到了mysql中的bigint类型就是java的long类型,因为Date被new出来后也是long类型,这样就可以对应的存储了。看到Timestamp类改变了想法,经过查询资料找到了解决方法。以得到一个Timestamp格式的时间,且存入mysql中的时间格式是这样的“yyyy/MM/dd HH:mm:ss”

[java] view
plain copy

Date date = new Date();  

Timestamp timeStamp = new Timestamp(date.getTime());  

[java] view
plain copy

else {  

            sql= "insert into flowmeter2(total,std_flow,temp,press,time) values(?,?,?,?,?)";  

        }  

        try {  

            PreparedStatement ps = connection.prepareStatement(sql);  

            ps.setString(1, total);  

            ps.setString(2, std_flow);  

            ps.setString(3, temp);  

            ps.setString(4, press);  

            ps.setTimestamp(5, timeStamp);  

            ps.executeUpdate();  

            System.out.println("添加成功!");  

            connection.close();  


mysql中的格式

当你需要查询某个时间段内的时间的时候只需要这样就搞定了

[java] view
plain copy

Timestamp timestamp1 = Timestamp.valueOf("2015-11-17 11:20:19");  

Timestamp timestamp2 = Timestamp.valueOf("2015-11-17 11:20:34");  

try {  

<span style="white-space:pre">    </span>String querySql = "select total,std_flow,temp,press,time from flowmeter2 where time between ? and ?";  

    ps = conn.prepareStatement(querySql);  

    ps.setTimestamp(1, timestamp1);  

    ps.setTimestamp(2, timestamp2);  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐