【问题标题】:DateTime convertion in javaJava中的日期时间转换
【发布时间】:2014-09-15 13:07:47
【问题描述】:

我有一个日期以 IST 格式保存在数据库中。

     Date nowDate = new Date();
     Date dateBefore = new Date(nowDate.getTime() - 7* 24 * 3600 * 1000);
     System.out.println("Datebefore-->"+dateBefore);

在上面的代码中,dateBefore 被保存在数据库中。

我从数据库中获取数据 long 值,我必须将其转换为 Google DateTime

     Date dateBefore12 = new Date(longvalue); 
    com.google.api.client.util.DateTime dd = new DateTime(dateBefore12, TimeZone.getTimeZone("UTC"));

例如,现在输出将在 2014-07-17T05:23:28.857Z 中,我必须将其传递给 Google You Tube API。

现在从响应中我将使用 Google DateTime,比如说2014-07-17T05:23:28.857Z,我必须增加 1 分钟,然后将其转换为 long 并保存到数据库中。

将 google DateTime 转换为 long。

 TimeZone utc = TimeZone.getTimeZone("UTC");
    SimpleDateFormat f = new SimpleDateFormat(
            "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
    String input = dd.toString();

    GregorianCalendar cal = new GregorianCalendar(utc);
    cal.setTime(f.parse(input));
    cal.add(Calendar.MINUTE,1);

    Date time = cal.getTime();
    long longvalue1 =cal.getTimeInMillis();

现在我将保存数据并尝试检索它。它给了我2014-07-16T23:54:28.857Z

但我需要以 google DateTime 格式递增一分钟的保存日期值。

【问题讨论】:

    标签: java datetime youtube-api


    【解决方案1】:

    SimpleDateFormat 也使用时区,因为内部 Calendar 对象默认为本地时区。如果您不想使用该默认时区,那么在调用该格式的 parse() 方法之前,您应该在其上调用 setTimeZone()

    f.setTimeZone(utc);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多