2016-11-15 42 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"