我有一个日期以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格式增加一分钟的保存日期值。
答案 0 :(得分:0)
SimpleDateFormat
对象, Calendar
也使用时区,默认为本地时区。如果您不想使用该默认时区,那么在调用格式parse()
方法之前,您应该在其上调用setTimeZone()
:
f.setTimeZone(utc);