Формат даты как " гггг-мм-дд'Т'ХХ: мм: СС.СНО БИЗНЕС'"
Мне нужно отформатировать дату как yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
Как указано синтаксический анализ REST API для Facebook. Мне было интересно, что самое легкий решение этого было бы.
4 ответов
вызов toISOString()
способ:
var dt = new Date("30 July 2010 15:05 UTC");
document.write(dt.toISOString());
// Output:
// 2010-07-30T15:05:00.000Z
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;
}
Я сделал это... Используйте его, если вы еще не получили свое решение: -)
toISOString()
будет возвращать текущее время UTC только не текущее местное время. Если вы хотите получить текущее местное время в yyyy-MM-ddTHH:mm:ss.SSSZ
формат, то вы должны получить текущее время, используя следующие два метода
Способ 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());
можно использовать javax.xml.bind.DatatypeConverter
класс
DatatypeConverter.printDateTime
&
DatatypeConverter.parseDateTime