您必须在检查查询后将时间戳转换为日期并返回计数值。 我的数据库有日期(1344399208,1344399269),状态(Q,Q)。 这是我的代码:
public class GetCurrentDateTime {
public int data(){
int count=0;
java.sql.Timestamp timeStamp =new Timestamp(System.currentTimeMillis());
java.sql.Date date = new java.sql.Date(timeStamp.getTime());
System.out.println(date);
//count++;
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/xcart-432pro","root","");
PreparedStatement statement = con.prepareStatement("select * from xcart_orders where status='Q' AND date=CURDATE()");
ResultSet result = statement.executeQuery();
while(result.next()) {
// Do something with the row returned.
count++; //if the first col is a count.
}
}
catch(Exception exc){
System.out.println(exc.getMessage());
}
return count;
}
}
这里的日期以时间戳格式保存。但我喜欢转换日期(yyyy-mm-dd)format.its done successfully.ya我得到的输出是2012-08-08。但我必须检查查询今天日期+状态= Q 。那么该日期是如何保存在变量中并在查询中调用该变量。所以如何写入查询以上条件。检查条件并显示返回计数值我的tomcat console.How是做什么。请帮助我
答案 0 :(得分:0)
将日期转换为指定的日期格式:
int timestamp = 1231342342342; // replace with timestamp fetched from DB
Date date = new Date(timestamp);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
String dateString = sdf.format(date); //convert to yyyy-mm-dd format
根据我对编辑的理解,您希望查询类似于:
PreparedStatement statement = con.prepareStatement("select * from xcart_orders where status='Q' AND date='"+dateString+"'");
我假设日期以字符串格式存储在数据库中,因为您要求将其转换为特定格式。
来自评论:
要获得午夜约会:
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(timestamp);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
要获得24个期间内的所有条目:
"select * from xcart_orders where status='Q' AND date between " + cal.getTimeInMillis() + " and " + (cal.getTimeInMillis() + 86400000l);
答案 1 :(得分:0)
部分回答您的问题
日期示例
从Code Ranch和SO帖子借来的例子
// Get system time
Timestamp SysTime = new Timestamp(System.currentTimeMillis());
java.util.Date UtilDate = new java.util.Date(Systime.getTime());
java.sql.Date SQLDate = new java.sql.Date(Systime.getTime());
// Date + Time + Nano Sec
System.out.println(SysTime);
// Date + Time
System.out.println(UtilDate);
// Date
System.out.println(SQLDate);
格式化日期
// Apply Format
Date InDate = SQLDate; // or UtilDate
DateFormat DateFormat = new SimpleDateFormat("yyyy MM dd");
String DisplayDate = DateFormat.format(InDate);
System.out.println(DisplayDate);
请注意我是java的新手,因此请验证它是否有效。
比较日期
见SO帖子: