以下代码段将日期的字符串表示形式转换为java.util.Date对象,并将时区设置为GMT。为了解析字符串,这样的结果是在格林尼治标准时间,你必须设置TimeZone的的DateFormat物体插入GMT。
package org.nhooo.example.text; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; public class WithTimezoneStringToDate { public static void main(String[] args) { // 创建一个DateFormat并将时区设置为GMT。 DateFormat df = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z"); df.setTimeZone(TimeZone.getTimeZone("GMT")); try { // 将字符串转换为日期 Date today = df.parse("Mon, 16 Apr 2018 00:00:00 GMT+08:00"); System.out.println("Today = " + df.format(today)); } catch (ParseException e) { e.printStackTrace(); } } }
上面的代码段显示以下输出:
Today = Sun, 15 Apr 2018 16:00:00 GMT