0

我必须根据当前的伦敦时间戳命名一个文件,所以我更喜欢这样,如下所示..

/

/the time zone for London.
        TimeZone london = TimeZone.getTimeZone("Europe/London");
        SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy-HH-mm", Locale.UK);
        formatter.setTimeZone(london);
        Calendar now = Calendar.getInstance(); 
        String t =fileIdentifier+"-"+formatter.format(now.getTime())+"."+"doc";

但现在我尝试在文件名中显示当前 GMT 时间而不是当前伦敦时间,请告知需要进行哪些修改才能显示当前 GMT 时间。我想出了这个解决方案..

TimeZone london = TimeZone.getTimeZone("GMT");
        SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy-HH-mm");
        Calendar now = Calendar.getInstance(); 
        String t =fileIdentifier+"-"+formatter.format(now.getTime())+"."+"doc";

请告知我的上述方法是否会在文件名中显示当前的 GMT 时间

4

1 回答 1

0

TimeZone您必须在SimpleTimeFormat格式化. 这是一个例子:DateFormat#setTimeZoneDate

SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy HH:mm");
Calendar now = Calendar.getInstance(); 
System.out.println(formatter.format(now.getTime()));
TimeZone gmt = TimeZone.getTimeZone("GMT");
formatter.setTimeZone(gmt);
System.out.println(formatter.format(now.getTime()));

在秘鲁(格林威治标准时间 -5)是上午 12:17 当前输出是:

07-15-2013 00:17 //no GMT
07-15-2013 05:17 //GMT
于 2013-07-15T05:19:08.100 回答