以下代码段将日期的字符串表示形式转换为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