0

私は次の形式の日付を持っています:

2012-12-09T02:08:34.6225152Z

datejs javascriptライブラリを使用していて、上記の日付を解析したいのですが、適切なフォーマット文字列を理解できないようです。次のことを試しましたが、うまくいきません。

Date.parse('2012-12-09T02:08:34.6225152Z', 'yyyy-MM-ddTHH:mm:ss.fffffffZ');

簡単な場合は、ネイティブjavascriptで文字列を解析することもできます。

4

2 に答える 2

1

DateJSはミリ秒の解析をサポートしていないようです。u動作する可能性のあるDateJSエクストラにFormatSpecifierがあります(テストされていません)。

http://code.google.com/p/datejs/wiki/FormatSpecifiers

于 2012-12-09T15:02:42.280 に答える
0

Javascriptに送信される文字列の形式を変更することで、この問題を解決することになりました。代わりに、次のコードを使用し2012-12-09T02:08:34.6225152ZてJSONシリアライザーを出力に変更しました。1363607010099

var serializer = new JsonNetSerializer(new JsonSerializerSettings
{
    DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
    NullValueHandling = NullValueHandling.Ignore
});

次に、JavaScriptを変更して、見つけたこの関数を使用して日付を解析しました。

String.prototype.toDate = function () {
    "use strict";
    var match = /\/Date\((\d{13})\)\//.exec(this);
    return match === null ? null : new Date(parseInt(match[1], 10));
};

最後に、次のコードを使用して日付を出力します(DateJSライブラリを利用)。

myTime.toDate().toString('h:mm:ss tt dd-MMM-yyyy')

そしてそれは動作します。これは少しハックなように思われるので、私は代替案を検討することにオープンです。

于 2013-03-18T11:54:15.963 に答える