关于文件名包含当前的GMT时间

时间:2013-07-15 05:08:47

标签: java

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

/

/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时间

1 个答案:

答案 0 :(得分:0)

在格式化TimeZone之前,您必须使用DateFormat#setTimeZoneSimpleTimeFormat设置为Date对象。这是一个例子:

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