2015-02-05 6 views
-1

В моем приложении я получаю дату в строчном формате, например: var date = "1988-11-4". Я вызываю службу WCF и отправляю данные в службу как формат Json. Но моя проблема заключается в том, что служба WCF принимает только даты в формате {DoB: "/ Date (570931200000 + 0530) /"}. Не могли бы вы рассказать, как мне преобразовать дату в формат json, например:Как преобразовать строку даты в формат json date в javascript?

var jasonDate = "/ Date (570931200000 + 0530) /". Где 570931200000 - это миллисекунды, рассчитанные с момента «1970-01-01» и +0530 - Часовой пояс.

+1

Что вы имеете в виду формат даты JSON? – Andy

+1

Пожалуйста, объясните, что вы хотите точно и что вы пробовали до сих пор, чтобы достичь этого. –

+0

@ Andy Я отправляю дату в службу WCF и принимает формат даты только как формат "" \/Date (1208559600000-0700) \/"". Можно ли преобразовать строку даты в указанный выше формат в Javascript. – Nivs

ответ

1

Как лучше всего догадаться, и дать вам кое-что для работы, пока вы не поймете, что такое отношения, и вернитесь, и лучше объясните, что вы пробовали, и точный характер проблемы с вашим кодом.

var dateTime = '1988-05-03', 
 
    parts = dateTime.split('-'), 
 
    date; 
 

 
parts[1] -= 1; 
 
date = new Date(Date.UTC.apply(null, parts)); 
 
document.body.textContent = '/Date(' + date.getTime() + '-0000)/';

0

Это может работать:

var jsonDate = new Date(date).toJSON(); 

Как исходная переменная только строка не будет признана как дата, так как дата из него затем преобразовать, что в формате JSON.

+0

извините, но распространяется на «2015-02-05T00: 00: 00.000Z». Мне нужно преобразовать его в формат «\/Date (1208559600000-0700) \ /». – Nivs

+1

Что означают эти части? Что это за '1208559600000' и ​​этот' -0700'? – istos

0

Спасибо всем за ответ. У меня есть решение по моему запросу. Здесь в строке "/ Date (1208559600000-0700) /" 1208559600000 - миллисекунды, рассчитанные с 01 января 1970 года, и -700 - это часовой пояс.

Это код, который работал для меня:

convertToJsonDate: function (date) { 
    var diff = date.getTime(); 
    var jsonDate = "\/Date(" + diff + "-0700)\/"; 
    return jsonDate; 
},