2

現在のアプリケーションは JSP によって実装されているためDate、ユーザーが入力した入力フィールドにローカライズされた (ロケールに応じて MM/DD/YYYY または DD/MM/YYYY で) 渡されます。次に、javascript はその日付を識別し、UI で同じ日付のデータ (つまり、発注済みの注文) を除外することになっています。

ユーザーが日付を入力するのと同じように (MM/DD/YYYY または DD/MM/YYYY はロケールによって異なります)、UI 上の注文のリストは、同じ日付に作成されたものだけのままにする必要があります。したがって、基本的に、JavaScript は日付をフェッチする必要があります。ユーザーが入力した日付とすべての注文の日付を比較します。

コードサンプルはこんな感じ

if(aOrder_date != null ){
    if(aOrder_date != '' && aOrder_date != 'undefined'
        && order_date.getTime() != aOrder_date.getTime()){
        showUp = false;
    }
}

したがって、問題は、JSP(Java) でさえスペイン語のロケールにありますが、javascript は依然として英語のロケールで使用されます。それから:

08/03/2013 

入力フィールドには

March, 08, 2013 in Spanish Calendar

しかし、それは次のように解釈されます

Auguest, 03, 2013 in English Calendar

JavaScriptで

また、javascript は、ページが に切り替わったとき12th(javascript ツイストmonthととして意味があります)の後の日付を識別できません。daySpanish

それで、Javascriptにロケールを入れたり同期したりして、上記を正しく動作させる方法はありますか?

4

2 に答える 2

1

このリンクがお役に立てば幸いです。

ユーザーのロケール形式と時間オフセットで日付/時刻を表示します

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString

または、この解析方法を日付に使用できます。

  toISOString() 

また

  getUTCDate(), getUTCMonth() and getUTCDay()

また

  dateString.toLocaleString()
于 2013-09-28T13:03:45.080 に答える
0

datejsを使用できます。ダウンロードでは、datejs のローカライズされたバージョンを見つけることができます。

アクティブなロケールは、利用可能なさまざまなバージョン (date-es-AR.js、date-en-GB.js、...) をロードすることによってブラウザーのコンテキストによって検出されるのではなく、コードによって動的に確立できることに注意してください。

最後にDate.parse、確立されたロケールで使用できます。

于 2015-03-27T21:22:01.050 に答える