2017-06-09 25 views
0

我打算在PST区域显示时间。我发现了一种嵌入时间区域PDT的格式,但我想知道在冬天这是否会变成PST。在冬天,PDT会变为PST吗?

这就是代码现在的样子。

public static final String OUTPUT_FORMAT_STD_DATE6_TIMEZONE = "MM/dd/yy hh:mm a z"; 

public static String convertUTC(String strDate, String inputFormat, String outputFormat) { 
    String displayDateString = null; 

    try { 
     DateFormat inFormat = new SimpleDateFormat(inputFormat); 
     inFormat.setTimeZone(TimeZone.getTimeZone("UTC")); 
     Date date = inFormat.parse(strDate); 

     DateFormat outFormat = new SimpleDateFormat(outputFormat); 
     outFormat.setTimeZone(TimeZone.getDefault()); 

     displayDateString = formatDate(date, outputFormat); 
    } catch (ParseException pe) { 
     log.error("DateUtil.convertUTC :Parse exception while parsing,"+strDate+" using format :"+inputFormat) ; 
    } 

    return displayDateString; 
} 

public void endElement(String uri, String localName, String qName) throws SAXException { 
    if(EVENT.equalsIgnoreCase(qName)) { 
     auditEntries.add(entry); 
    } else if(LOG_TIME.equalsIgnoreCase(qName)) { 
     String time = content.toString(); 
     entry.setLogTime(DateUtils.convertUTC(time, "yyyy-MM-dd'T'HH:mm:ss", DateUtils.OUTPUT_FORMAT_STD_DATE6_TIMEZONE)); 
} 

时间显示为如下:

06/09/17 07:44 AM PDT 
+1

改变你的操作系统的时间,并找出:) –

回答

1

如果你想在PST区始终显示它,那么你可以用下面的,而不是使用默认值。

TimeZone.getTimeZone("PST") 

我假设你只是没有尝试改变系统的时间,因为它运行在服务器上。如果运行应用程序的JVM的时区未被JVM标志明显覆盖,它是否会更改取决于服务器的配置。所以答案取决于代码的运行位置。如果您总是希望在PST中显示时间,最好明确一下。

+0

得到它很酷。谢啦。 – Mike