2016-11-15 7 views
5

Я хотел бы преобразовать эту Java LocalDate на JavaScript Date:Java 8 LocalDate в JavaScript Дата

{ 
    "date": { 
     "year": 2016, 
     "month": "NOVEMBER", 
     "dayOfMonth": 15, 
     "monthValue": 11, 
     "dayOfWeek": "TUESDAY", 
     "era": "CE", 
     "dayOfYear": 320, 
     "leapYear": true, 
     "chronology": { 
      "id": "ISO", 
      "calendarType": "iso8601" 
     } 
    } 

ответ

6

Ваша дата строка не указан часовой пояс. Вам также не хватает информации о времени, в то время как даты JavaScript хранят время суток по дизайну.

Ваша строка почти достоверна JSON, поэтому вы можете ее проанализировать через JSON.parse(). Только отсутствует одна закрывающая скоба }.

Учитывая замечания выше, вы можете использовать следующий подход:

var input = JSON.parse('{"date":{"year":2016,"month":"NOVEMBER","dayOfMonth":15,"monthValue":11,"dayOfWeek":"TUESDAY","era":"CE","dayOfYear":320,"leapYear":true,"chronology":{"id":"ISO","calendarType":"iso8601"}}}'); 
 
      
 
var day = input.date.dayOfMonth; 
 
var month = input.date.monthValue - 1; // Month is 0-indexed 
 
var year = input.date.year; 
 

 
var date = new Date(Date.UTC(year, month, day)); 
 

 
console.log(date); // "2016-11-15T00:00:00.000Z"