DateFormat用法
- Date转换为String:
Date date = new Date();
DateFormat bf = new SimpleDateFormat("yyyy-MM-dd E a HH:mm:ss");
String format = bf.format(date);
- String转换为Date
DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = format.parse(String).getTime();
}
注:parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数
时间段查询
package com.first.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Random;
/**
* 测试时间处理(java.sql.Date,Time,Timestamp),取出指定时间段的数据
*
*/
public class Demo08 {
/**
* 将字符串代表的日期转为long数字(格式:yyyy-MM-dd hh:mm:ss)
*/
public static long str2Date(String dateStr){
DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
try {
return format.parse(dateStr).getTime();
} catch (ParseException e) {
e.printStackTrace();
return 0;
}
}
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
//加载驱动类
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc","root","root");
// ps = conn.prepareStatement("select * from t_user where regTime>? and regTime<?");
// java.sql.Date start = new java.sql.Date(str2Date("2019-7-26 12:6:4"));
// java.sql.Date end = new java.sql.Date(str2Date("2019-10-3 5:2:06"));
// ps.setObject(1, start);
// ps.setObject(2, end);
ps = conn.prepareStatement("select * from t_user where lastLoginTime>? and lastLoginTime<? order by lastLoginTime ");
Timestamp start = new Timestamp(str2Date("2019-7-26 12:6:4"));
Timestamp end = new Timestamp(str2Date("2019-10-3 5:2:06"));
ps.setObject(1, start);
ps.setObject(2, end);
rs = ps.executeQuery();
// while(rs.next()){
// System.out.println(rs.getInt("id")+"--"+rs.getString("username")+"--"+rs.getDate("regTime"));
// }
while(rs.next()){
System.out.println(rs.getInt("id")+"--"+rs.getString("username")+"--"+rs.getTimestamp("lastLoginTime"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
if(ps!=null){
ps.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
本文详细介绍了如何使用Java的SimpleDateFormat进行日期时间的格式化与解析,以及如何利用这些技术在数据库中进行时间段查询。通过具体示例,展示了从字符串到日期对象的转换方法,以及如何设置SQL查询条件来获取特定时间段内的数据。
620

被折叠的 条评论
为什么被折叠?



