66

Facebook用のParseのRESTAPIyyyy-MM-dd'T'HH:mm:ss.SSS'Z'で指定されているように日付をフォーマットする必要があります。これに対する最も軽量なソリューションは何だろうと思っていました。

4

6 に答える 6

122

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

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

// Output:
//  2010-07-30T15:05:00.000Z
于 2012-10-17T23:40:50.247 に答える
11

toISOString()現在の現地時間ではなく、現在のUTC時刻のみを返します。現在の現地時間をフォーマットで取得したい場合はyyyy-MM-ddTHH:mm:ss.SSSZ、次の2つの方法を使用して現在の時刻を取得する必要があります

方法1:

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

方法2:

console.log(new Date(new Date().getTime() - new Date().getTimezoneOffset() * 60000).toISOString());

于 2018-05-18T11:07:32.527 に答える
5
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;
}
于 2013-02-19T08:11:51.007 に答える
0

別のオプションを追加します。おそらく最も軽量ではありません。

dayjs.extend(dayjs_plugin_customParseFormat)
console.log(dayjs('2018-09-06 17:00:00').format( 'YYYY-MM-DDTHH:mm:ss.000ZZ'))
<script src="https://cdn.jsdelivr.net/npm/dayjs@1.9.7/dayjs.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/dayjs@1.9.7/plugin/customParseFormat.js"></script>

于 2020-12-18T05:25:51.787 に答える
0

Node.js

const offsetInMinutes = 2 * 60 ; //Romanian
const todaysDate = new Date(new Date().getTime() + offsetInMinutes * 60000).toISOString();
于 2021-08-31T00:07:51.923 に答える
-7

あなたは javax.xml.bind.DatatypeConverterクラスを使うことができます

DatatypeConverter.printDateTimeDatatypeConverter.parseDateTime

于 2012-11-09T09:05:52.653 に答える