2

请提供从数据库中获取下一小时的代码。例如,我timestamp 从数据库中得到一个:

    String sqlupdate = "select UploadedDate from CAF_Entry where Status='new' and Reference=0   order by UploadedDate limit 1";
    System.out.println("sql query"+sqlupdate);
    Statement stupdate = con.createStatement();
    ResultSet rsupdate = stupdate.executeQuery(sqlupdate);
    if(rsupdate.next())
    {
      date22=rsupdate.getTimestamp("UploadedDate");
      String stringdate=date22.toString();`

我得到日期2012-11-12 10:30:00

我如何获得下一个小时,例如2012-11-12 11:00:00

4

3 回答 3

4
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(date22.getTime);
calendar.add(Calendar.HOUR, 1);

之后,您可以使用SimpleDateFormat将日期格式化为字符串,如果您希望它采用该格式。 如果需要,Calendar.getTime()将返回一个对象。java.util.Date

于 2012-11-21T14:35:03.883 回答
0
String sqlupdate = "select UploadedDate from CAF_Entry where Status='new' and Reference=0   order by UploadedDate limit 1";
System.out.println("sql query"+sqlupdate);
Statement stupdate = con.createStatement();
ResultSet rsupdate = stupdate.executeQuery(sqlupdate);
if(rsupdate.next())
{
  DateTime date22=new DateTime(rsupdate.getTimestamp("UploadedDate").getTime()).plusHours(1);

  String stringdate=date22.toString();`

您需要使用joda-time,您应该使用它,因为 JDK 日期/日历 clusterfsck 是可怕的。

于 2012-11-21T14:37:25.593 回答
0

使用以下代码片段

Calendar c = Calendar.getInstance();
c.setTimeInMillis(date22.getTime());
c.add(Calendar.HOUR, 1);
Date d = c.getTime();
于 2012-11-21T14:37:37.320 回答