2009-05-11 5 views
0

Ich habe Felder in einer MySQL-Datenbank eingegeben datetime.fmt: formatDate und timeZone

ich speichere, zum Beispiel, ein Datum der Zahlung mit dem nächsten Java-Code:

payment.setCreatedOn(new Date(System.currentTimeMillis())); 

Aus meiner Sicht Schicht verwende ich fmt:formatDate, um Datum-:

<fmt:formatDate value="${payment.createdOn}" pattern="EEE, dd MMM yyyy HH:mm:ss"/> 

Mein Server in London ist und mein Nutzer der Anwendung sind in Wien. Die Zeitanzeige ist wahrscheinlich aufgrund unterschiedlicher Zeitzonen verzögert. Ich kann einen timeZone Parameter in fmt: formatDate verwenden.

timeZone: Zeitzone in der die formatierte Zeit darstellt.

Nachdem in Google suchen, denke ich, der Wert Europe/Vienna für timezone Parameter gültig ist.

Weiß jemand, ob irgendwo die gültigen timeZone-Strings aufgelistet sind?

Antwort

1

Sergio - ich bin sicher, Sie haben lange es seit eh gefunden ...

Hier ist der homepage for the Olson database oder ‚zoneinfo‘, die die definitive Quelle von TZ-Info ist.

Und hier ist ein nice wiki für Browsing-Zonen. Hier

0

Sie benötigen die internationale Zeit (UTC/Zulu) zu verwenden, die folgenden Client-Zeit Verwendung hinzufügen zum Beispiel "GMT + 1". Siehe dieses Beispiel.

Setzen Sie diesen Parameter als Argument in der Server-UTC-Zeit Verwendung zu setzen, in diesem Fall ist für Kater:

-Duser.timezone = "UTC"

/* Java */  

@RequestMapping(value = "/web", method = { RequestMethod.POST, RequestMethod.GET }) 
public String web(Model model, HttpSession session, Locale locale) { 

    Date today = new Date(); 
    model.addAttribute("currentTime", today); 
    model.addAttribute("timezone", "GMT+1"); 

    return "web"; 
} 

Datum Um zu zeigen, wählen Ihr gewünschtes Muster (Eigenschaften)

/* JSP web */ 

<fmt:timeZone value="${timezone}"> 
<spring:message code="date_format_dateMin" var="pattern"/> 
<fmt:formatDate value="${currentTime}" timeZone="${timezone}" pattern="${pattern}" var="searchFormated" /> 
<span class="innerLabel">${searchFormated}</span> 
</fmt:timeZone> 

/* Properties */ 

date_format_dateMin=yyyy/MM/dd HH:mm 
date_format=yyyy/MM/dd HH:mm:ss  
date_format2=yyyy/MM/dd 
date_format3_js=yy/mm/dd 
date_format4_time=HH:mm 
date_format4=dd/MM/yyyy HH:mm:ss