2

datejsライブラリを使用していますが、日付形式に問題があります。今日の日付を時間なしで画面に印刷する必要があります。この行を実行すると:

Date.today().toString('d')

日付の日付部分(つまり15)を取得しています。

ドキュメントを見ると、標準の日付としての「d」をカルチャに依存させる必要があると指定されています。これはまさに私が望んでいることです。 http://code.google.com/p/datejs/wiki/FormatSpecifiers

私が使用している場合、mm / dd/yyyyを出力することを期待しています

<script type="text/javascript" src="/scripts/date.js"></script>

en-GBを使用している場合

<script type="text/javascript" src="/scripts/date-en-GB.js"></script>

dd / mm/yyyyを印刷するには

tostring()または次のようなものでformatstringを指定できることを知っています。

(Date.today().toString(Date.CultureInfo.formatPatterns.shortDate)

しかし、私はむしろdオプションを使用することを好みます。

助けてくれてありがとう、ピニ。

4

1 に答える 1

2

ここでいくつかの問題:

1)wikiドキュメントはhttp://code.google.com/p/datejs/のメインページのドキュメントとは異なり、メインページには標準ではなくカスタム指定子として必要な指定子が記述されています。ウィキのドキュメントは、複数の文字を使用するとカスタムモードをトリガーする必要があることを示唆しているように見えますが、これはあなたが示しているようには発生しません。これを報告するバグは見当たりませんでした。自分で報告して、応答の通知を受け取りたいと思うかもしれません:http ://code.google.com/p/datejs/issues/list

2)できるはずですDate.today().toShortDateString();が、ここにバグがあるようです(すべてのカルチャファイルに)。ソースリスト:

Date.prototype.toShortDateString=function(){
    return this.toString(Date.CultureInfo.formatPatterns.shortDatePattern);
};

...ただし、フォーマットパターンはDate.CultureInfo.formatPatterns.shortDateである必要があります(または、パターンを別の方法で、または同義語で定義する必要があります)。http://code.google.com/p/datejs/issues/detail?id=116を参照してください。

3)省略文字で「カスタム」指定子のサポートを得ることができるのは、test / scripts/date-functions.jsファイルも含めることだけでした。

<script type="text/javascript" src="build/date-en-US.js"></script>
<script type="text/javascript" src="test/scripts/date-functions.js"></script>
<script>
alert(Date.today().dateFormat('d'));
</script>

必要な機能を取得するために「テスト」フォルダにのみ存在するファイルを含めることは信頼できないように思われるため、問題を報告する場合にこれを提示する可能性があります。

于 2011-04-16T06:40:15.273 に答える