将GMT时间转换为特定的字符串格式

时间:2017-08-07 15:05:58

标签: java date datetime gmt

我有具体的情况,我必须取日期字段,将其转换为GMT时间,然后将其转换为特定的字符串格式。

这给出了GMT时间:

public static void main(String[] args) {        
    Date rightNow = Calendar.getInstance().getTime();
    DateFormat gmtFormat = new SimpleDateFormat();
    TimeZone gmtTime = TimeZone.getTimeZone("GMT");
    gmtFormat.setTimeZone(gmtTime);
    System.out.println("GMT Time: " + gmtFormat.format(rightNow));
    String gmtDate=gmtFormat.format(rightNow);
}

现在我需要将GMT时间转换为字符串格式yyyy-MM-ddTHH:mm:ssZ 我所在时区的当前时间示例为17:10:00,格林威治标准时间为15:10:00,因此最终输出应为2017-08-07T15:10:00Z

我尝试使用此代码添加:

String pattern = "yyyy-MM-ddTHH:mm:ssZ";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
String date = simpleDateFormat.format(gmtDate);
System.out.println(date);

但当然我得到了异常,因为字符串不能像这样转换,但我需要类似的东西。

1 个答案:

答案 0 :(得分:-1)

将两个代码块合并在一起:

@events.each do |event|
  if !event.location.empty?
    puts "Location: #{event.location.values.join(", ")}"
  end 
end 

public static void main(String[] args) { Date rightNow = Calendar.getInstance().getTime(); String pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"; DateFormat gmtFormat = new SimpleDateFormat(pattern); TimeZone gmtTime = TimeZone.getTimeZone("GMT"); gmtFormat.setTimeZone(gmtTime); System.out.println("GMT Time: " + gmtFormat.format(rightNow)); } 根据JavaDoc ...