【问题标题】:Android Add 2 hours to date String [duplicate]Android添加2小时到日期字符串[重复]
【发布时间】:2015-08-17 17:43:46
【问题描述】:

我有一个存储 getDate() 值的 TextView。这个 getDate() 值是日期,但格式是字符串

 textview_device_datetime.setText(data.getDate().replace('T', ' '));

这是结果

16-08-2015 16:15:16

但我会在这个字符串日期上增加 2 小时。 我该怎么办?

任何帮助都很棒。 谢谢

【问题讨论】:

  • 通过解析字符串将字符串转换为 Date 对象,然后添加 2 小时。再次转换回字符串。有很多问题可以帮助您完成上述步骤:)
  • 很高兴看到您想参与 StackOverflow。但请发帖前先搜索。您关于将小时数添加到日期时间(以及其次从日期时间值解析/生成字符串)的问题已处理 many times already

标签: java android date


【解决方案1】:
final String dateString = "16-08-2015 16:15:16";
final long millisToAdd = 7_200_000; //two hours

DateFormat format = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");

Date d = format.parse(dateString);
d.setTime(d.getTime() + millisToAdd);

System.out.println("New value: " + d); //New value: Sun Aug 16 18:15:16 CEST 2015

【讨论】:

    【解决方案2】:

    在这里,我附上了示例代码。

    import java.time.*;
    import java.text.*;
    import java.util.*;
    public class AddTime
    {
      public static void main(String[] args)
      {
        String myTime = "16-08-2015 16:15:16";
        System.out.println(addHour(myTime,2));
      }
    
      public static String addHour(String myTime,int number)
      {
        try
        {
        SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
        Date d = df.parse(myTime); 
        Calendar cal = Calendar.getInstance();
        cal.setTime(d);
        cal.add(Calendar.HOUR, number);
        String newTime = df.format(cal.getTime());
        return newTime;  
        } 
        catch(ParseException e)
        {
          System.out.println(" Parsing Exception");
        }
        return null;
    
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 2016-10-07
      • 1970-01-01
      • 2017-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多