我有一个日期以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分钟,然后将其转换为长时间并保存到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格式
SimpleDateFormat
也使用时区,因为内部Calendar
对象默认为本地时区。如果您不想使用默认时区,那么在调用该格式的parse()
方法之前,您应该在其上调用setTimeZone()
:
f.setTimeZone(utc);