我正在尝试将GMT转换为一个简单的过程,但是EST的输出比Google中搜索的当前时间少于一个小时,任何人都可以建议我为什么就是这样。
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;
public class Example {
public static void main(String[] args) {
TimeZone tz=TimeZone.getDefault();
Calendar cal=new GregorianCalendar();
cal.setTimeZone(tz);
Date date = cal.getTime();
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy K:mm a");
System.out.println("GMT TIME "+dateFormat.format(date));
TimeZone estTime = TimeZone.getTimeZone("EST");
dateFormat.setTimeZone(estTime);
String submittedDate = dateFormat.format(date);
System.out.println("EST TIME "+submittedDate);
}
}
上面的示例代码
我必须使用 TimeZone estTime = TimeZone.getTimeZone("America/New_York");
而不是 TimeZone estTime = TimeZone.getTimeZone("EST");
获得所需的结果。