如何将时间增加 1 小时

Posted

技术标签:

【中文标题】如何将时间增加 1 小时【英文标题】:How to increment time by 1 hour 【发布时间】:2011-08-22 11:12:15 【问题描述】:

我有两个时间值。一个用于上一次登录时间,一个用于当前登录时间。 我必须将以前的登录时间增加一小时。我使用了日期格式 hh:mm:ss。 这是我的代码 sn-p。

Date previous_time, current_time;

  if(previous_time.before(current_time))
  Log.i("Time Comparision"," true");
 

所以不是上面提到的 if 条件,我必须在 previous_time 上增加一小时并执行 if 条件。如何做到这一点?

【问题讨论】:

【参考方案1】:
   Calendar calendar = Calendar.getInstance();
   calendar.setTime(previous_time);
   calendar.add(Calendar.HOUR, 1);
   previous_time = calendar.getTime();
   // do your comparison

【讨论】:

对不起,我的朋友。此代码更新小时,但它完全改变了我的日期格式。我只想要“hh:mm:ss”格式的时间。 @Andro_Selva - 格式化和实际操作日期是两个独立的任务。查看DateFormat 和/或SimpleDateFormat。 然后你可以使用 SimpleDateFormat 来获得你想要的格式。在你的情况下,"new SimpleDateFormat("hh:mm:ss").format(previous_time)",在planetjones的最后一行之后。 是的,同意@Rob Hruska (+1) - 正如 JavaDoc 所指出的那样“类 Date 表示特定的时间瞬间,精度为毫秒” - 格式化它不同于执行操作,例如比较它。 @Andro_Selva,你想发布更多代码还是准确解释你的问题 - 当你说“它没有带来任何不同”时,我无法推断你的问题是什么【参考方案2】:
previous_time.setTime(previous_time.getTime() + 60 * 60 * 1000);

Date session_expiry = new Date(previous_time.getTime() + 60 * 60 * 1000);

http://download.oracle.com/javase/6/docs/api/java/util/Date.html#getTime%28%29

【讨论】:

【参考方案3】:

请试试这个代码。

    SimpleDateFormat sdf = new SimpleDateFormat("h:mm a");
    Date date = Utils.getBookingDate(mBooking.ToTime);
    Calendar calendarAdd = Calendar.getInstance();
    calendarAdd.setTime(date);
    calendarAdd.add(Calendar.HOUR, 1);
    toTime = sdf.format(calendarAdd.getTime());
    tv_Totime.setText(toTime);

当当前时间字符串在加 1 小时内生成时

【讨论】:

以上是关于如何将时间增加 1 小时的主要内容,如果未能解决你的问题,请参考以下文章

Google API:如何增加访问令牌到期日期?

定时器如何调整时间?

如何将 java.sql.Timestamp 增加 14 天?

小米和OPPO等中国ROM的工作管理器,在电池优化时,将预定的工作延迟增加几个小时

代币发行日期增加 8 小时

内存使用量急剧增加[关闭]