0

Mysql データベースにdatetime型のフィールドがあります。

たとえば、支払いの日付を次の Java コードで保存します。

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

私のビュー レイヤーでは、fmt:formatDateを使用して日付をフォーマットします。

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

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

timeZone: フォーマットされた時間を表すタイムゾーン。

Google で検索したところ、値Europe/ViennaがtimeZoneパラメーターに有効であると思います。

有効な timeZone 文字列のどこかにリストがあるかどうかは誰にもわかりませんか?

4

3 に答える 3

1

セルジオ - とにかくずっと前に見つけたはずです...

TZ 情報の決定的な情報源である Olson データベースまたは「zoneinfo」のホームページは次のとおりです。

ゾーンをブラウジングするための素敵な wikiがあります。

于 2009-10-18T14:18:59.783 に答える
0

以下は IBM JDK のリストです。少し古いですが、完全なリストがあります。

http://publib.boulder.ibm.com/infocenter/wsdoc400/v6r0/index.jsp?topic=/com.ibm.websphere.iseries.doc/info/ae/ae/adrtzval.htm

于 2011-04-15T01:18:41.673 に答える
0

国際時間 (UTC/Zulu) を使用して、次のスケジュール クライアント時間の使用を追加する必要があります (例: "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
于 2014-05-08T08:00:32.417 に答える