2017-10-23 3 views
0

Ich versuche das Datum in sapui5 zu formatieren. Ich habe ein paar Stackoverflow-Vorschlag versucht, aber keinen Erfolg. Datumsformat, das ich von Oracle DB zurückbekomme, ist 2017-10-12T00:00:00.000Z. Bitte führen. Das ist mein Codesapui5 - Objekt unterstützt keine Eigenschaft oder Methode 'getTime'

<Column> 
    <m:Label text="Last Load Date" tooltip="Last Load Date"/> 
    <template> 
     <m:Label text="${ path: 'LAST_UPDATE', type: 'sap.ui.model.type.Date', formatOptions: { pattern: 'yyyy/MM/dd' }}"/> 
    </template> 
</Column> 

Danke für die Hilfe.

Antwort

1

Das wird nicht funktionieren, weil "sap.ui.model.type.Date" die Daten in folgendem Format erwartet (ABAP backned es verwendet):

/Datum (Zeitstempel)/

Also 2 Lösungen:

  1. Passen Sie Ihr Backend an, um die erforderliche Struktur der Datumseigenschaften zurückzugeben;
  2. Implementieren Sie Ihren benutzerdefinierten Datentyp (basierend auf einem Standard), der mit dem in der Frage beschriebenen Format arbeitet.
1

Ich hatte das gleiche Problem. Was ich tat, war benutzerdefinierte Formatierer anstelle von Sapui5 Datumsformatierer.

new sap.m.Text({ 
    text: { 
     path: "LAST_UPDATE", 
     formatter: function(dateF) { 
      var date = new Date(dateF); 
      var mm = date.getMonth() + 1; // getMonth() is zero-based 
      var dd = date.getDate(); 
      var fhh = date.getHours(); 
      var fmm = date.getMinutes(); 
      var fss = date.getSeconds(); 
      var dateFormated = date.getFullYear() + "/" + 
       (mm > 9 ? '' : '0') + mm + "/" + 
       (dd > 9 ? '' : '0') + dd + " " + 
       (fhh > 9 ? '' : '0') + fhh + ":" + 
       (fmm > 9 ? '' : '0') + fmm + 
       ":" + (fss > 9 ? '' : '0') + fss; 
      return "Last updated : " + dateFormated; 
     } 
    }, 
}) 
Verwandte Themen