java - java中的日期时间转换

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

最佳答案

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

f.setTimeZone(utc);

关于java - java中的日期时间转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24925894/

相关文章:

java - 使用函数式编程,提取提供子类对象的父类(super class)字段

java - 如何处理java.lang.Exception : Socket bind failed: [730013] exception

java - J2SE 和 Java DB

java - 为什么 Java 将方法的大小限制为 65535 字节?

javascript - 以时间格式制作 highcharts 的 y 轴 hh :mm

Java - 创建没有时区的日历

php - Doctrine 和 DateTime 显示出错误的差异

c# - Youtube Data API C# - 无需请求用户凭据即可使用

ios - 来自播放列表项的 YouTube Objective-C API 视频 url

javascript - Iframe 嵌入式 Youtube 视频事件跟踪 - Ensighten 标签管理器