2009-05-11 9 views
0

私はMysqlデータベースのフィールドにdatetimeと入力しました。fmt:formatDateとtimeZone

私は、次のJavaコードでのお支払いの日付、例えば、保存:私は日付をフォーマットするためにfmt:formatDateを使用して私の見解層で

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

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

私のサーバーは、ロンドンにあり、私のアプリケーションのユーザーはウィーンにあります。タイムゾーンが異なるため、表示時間が遅れている可能性があります。私はtimeZoneのパラメータをfmt:formatDateに使うことができます。

timeZone: のタイムゾーンは、時刻を表します。

グーグルで検索した後、私は値ヨーロッパ/ウィーンタイムゾーンパラメータの有効だと思います。

有効なtimeZone文字列のどこにリストがあるか知っていますか?

答えて

1

セルジオは - 私は

ここTZ情報の源です homepage for the Olson databaseや「zoneinfoの」です...あなたが長いので、とにかくそれを見つけたと確信しています。

ゾーンを参照する場合はnice wikiです。ここで

0

たとえば、「GMT + 1」などです。この例を参照してください。この場合には、UTC時刻の使用を設定するには、サーバーに引数としてこのパラメータを入れ

は、Tomcatのためにある:

-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"; 
} 

は、選択した日付を表示するにはあなたが望むパターン(プロパティ)

/* 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