java中的DateTime转换

时间:2014-07-24 05:38:53

标签: java datetime youtube-api

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

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

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

从数据库中我获取数据的长值,我必须将其转换为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并保存到db。

将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格式增加一分钟的保存日期值。

1 个答案:

答案 0 :(得分:0)

由于内部SimpleDateFormat对象,

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

f.setTimeZone(utc);