到目前为止在java中的时间戳并获取计数值

时间:2012-08-08 04:24:53

标签: java mysql date jdbc timestamp

您必须在检查查询后将时间戳转换为日期并返回计数值。 我的数据库有日期(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是做什么。请帮助我

2 个答案:

答案 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帖子:

How to compare dates using Java