Дата в формате yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

Мне нужно отформатировать дату как yyyy-MM-dd'T'HH:mm:ss.SSS'Z', как указано в REST API Parse для Facebook. Мне было интересно, каким будет самое легкое решение этой проблемы.


person Garrett    schedule 17.10.2012    source источник


Ответы (4)


Вызовите метод toISOString():

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

// Output:
//  2010-07-30T15:05:00.000Z
person Robert Harvey    schedule 17.10.2012
comment
Как ты мог пойти в другом направлении? - person user1789573; 15.10.2015
comment
@user1789573: developer.mozilla.org/en -US/docs/Web/JavaScript/Справочник/ - person Robert Harvey; 15.10.2015

toISOString() вернет только текущее время UTC, а не текущее местное время. Если вы хотите получить текущее местное время в формате yyyy-MM-ddTHH:mm:ss.SSSZ, вы должны получить текущее время, используя следующие два метода.

Способ 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());

person jafarbtech    schedule 18.05.2018
comment
было бы лучше без document.write(...) вокруг него. +1 - person Willi Mentzel; 09.11.2020

Добавьте еще один вариант, может быть, не самый легкий.

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/[email protected]/dayjs.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/plugin/customParseFormat.js"></script>

person xianshenglu    schedule 18.12.2020

Вы можете использовать класс javax.xml.bind.DatatypeConverter

DatatypeConverter.printDateTime и DatatypeConverter.parseDateTime

person Azee Md    schedule 09.11.2012
comment
Это Javascript вопрос, а не Java - person Rafael Herscovici; 10.05.2017