【问题标题】:How to add seconds to date elements [closed]如何在日期元素中添加秒数[关闭]
【发布时间】:2014-01-29 17:17:11
【问题描述】:

我有一个日期数组。我想为数组中的每个元素添加 20 秒。 我试过了

     for(int i=0i<20;i++)
     {
      date1[i]=date1[i].gettime()+20;
     }

这给出了一个 long int 值。但我需要的是时间格式结果。我的问题是可以使用内置函数添加秒数,或者手动函数应该写成相同的。

【问题讨论】:

  • 请为您的问题添加更多上下文。目前还不清楚您希望完成什么。
  • @crush :我不知道如何添加..所以只是尝试了那个方法..谷歌了很多..发现在 php 中它可以是 strtotime() 转换它然后我们添加秒到它..我不知道java..那是y问
  • 你有一个Date 对象。您想添加 20(秒?),然后以某种类型的 string 格式输出。对吗?
  • 我建议使用Calendar 而不是Date。这是一个选择吗?
  • @crush:好的...谢谢...

标签: java arrays time


【解决方案1】:

这是因为Date.getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。因此,您正在使用 Long 重置数组中的值。要将其转换回 Date,您需要像这样构造新的 Date 对象。

 for(int i = 0; i < 20; i++) {
  date1[i] = new Date(date1[i].gettime() + TimeUnit.SECONDS.toMillis(20));
 }

或者像这样设置时间:

 for(int i = 0; i < 20; i++) {
  date1[i].setTime(date1[i].gettime() + TimeUnit.SECONDS.toMillis(20));
 }

但我强烈建议您使用 Joda Time 而不是 Java Date API

【讨论】:

    【解决方案2】:

    getTime() 方法以毫秒为单位返回时间。将 20000 添加到其中,然后根据这些毫秒创建日期。 Java 文档告诉您如何将毫秒转换为日期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-02
      • 2012-09-30
      • 1970-01-01
      • 1970-01-01
      • 2010-12-23
      • 2012-10-08
      • 2013-12-17
      相关资源
      最近更新 更多