2015-01-16 4 views
0

Я пытаюсь отформатировать дату JSON в дате JavaScript, чтобы отобразить его в хорошем виде. Первоначальная дата происходит от JSON-объекта, который выглядит следующим образом:форматирование связанного свойства в javascript перед его отображением

{ 
    "name": "foo", 
    "num": "1", 
    "date": "\/Date(1367539200000)\/" 
} 

место, где JSON элементы должны быть отображены позже является объектом SAPUI5 заголовок:

objectHeader = new sap.m.ObjectHeader({ 
    title: "{/name}", 
    number: "{/num}", 
    attributes: [ 
     new sap.m.ObjectAttribute({ 
      text: "{/date}" 
     }) 
    ] 
}); 

Поскольку объект JSON является связанный с заголовком объекта через

dataModel.setData(json) 
objectHeader.setModel(dataModel) 

значения правильно заменены. Но я хочу, чтобы дата была правильно отформатирована в более читаемом формате, вместо того, чтобы видеть /Date(1367539200000)/ на моем сайте. Я пробовал с

new sap.m.ObjectAttribute({ 
    text: new Date(parseInt("{/date}".substr(6))).toLocaleString('de'); 
}) 

Но это не удалось с «Недействительной датой». Каким будет правильный синтаксис для форматирования даты JSON для объекта данных Javascript в привязке модели?

+0

Возможный дубликат [Как добавить дату/время от OData службы Правильно в пользовательском интерфейсе?] (Https://stackoverflow.com/questions/47593990/how-to-add-date-time-from -an-odata-service-correct-in-the-ui) – boghyon

ответ

1

Вы можете использовать formatter, чтобы сделать это за вас. Преимущество состоит в том, что вы можете правильно использовать привязку данных, поэтому ваши элементы управления будут автоматически обновляться в случае изменения модели.

new sap.m.ObjectAttribute({ 
    text: { 
     parts: [ 
      {path: "/date"} 
     ], 
     formatter: function(date){ 
      //do whatever you want 
      return /* the value you want to have as result */; 
     } 
    } 
}) 
+0

Ваша идея кажется решением, которое я искал! Но когда я пытаюсь, 'date' в функции форматирования является' null' или 'undefined' означает' date.substr (6) 'doesnt work .. какие-либо идеи по этому поводу? – daco

+0

, что странно, я получаю дату ... – herrlock

+0

my createContent-function: https://gist.github.com/herrlock/7427f91bdfda2d2edbaa – herrlock