web-dev-qa-db-ja.com

「yyyy-MM-dd'T'HH:mm:ss.SSS'Z '」として日付をフォーマットします

Parse's REST API で指定されているように、日付をyyyy-MM-dd'T'HH:mm:ss.SSS'Z'としてフォーマットする必要があります。lightweightこれに対する解決策でしょう。

36
Garrett

toISOString() メソッドを呼び出します。

var dt = new Date("30 July 2010 15:05 UTC");
document.write(dt.toISOString());

// Output:
//  2010-07-30T15:05:00.000Z
68
Robert Harvey
function converToLocalTime(serverDate) {

    var dt = new Date(Date.parse(serverDate));
    var localDate = dt;

    var gmt = localDate;
        var min = gmt.getTime() / 1000 / 60; // convert gmt date to minutes
        var localNow = new Date().getTimezoneOffset(); // get the timezone
        // offset in minutes
        var localTime = min - localNow; // get the local time

    var dateStr = new Date(localTime * 1000 * 60);
    // dateStr = dateStr.toISOString("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); // this will return as just the server date format i.e., yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
    dateStr = dateStr.toString("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
    return dateStr;
}

解決しました...まだ解決策が得られなかった場合に使用してください:-)

4

toISOString()は、現在の現地時間ではなく、現在のUTC時間のみを返します。 _yyyy-MM-ddTHH:mm:ss.SSSZ_形式で現在のローカル時間を取得する場合は、次の2つの方法を使用して現在の時間を取得する必要があります。

方法1:

document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString());

方法2:

document.write(new Date(new Date().getTime() - new Date().getTimezoneOffset() * 60000).toISOString());
2
jafarbtech