SAPUI5: Output formatted date

2019-04-17 10:01发布

问题:

I´ve developed an SAPUI5 application with an XML-View.

Now I want to format a date correctly.

I tried it the following way:

 <Text text="{  
   path: 'model>LastCommDate',  
   type: 'sap.ui.model.type.Date',  
   formatOptions: {  
     pattern: 'yyyy/MM/dd'  
   }
 }" />

Error message: datajs.js:17 Uncaught TypeError: j.getTime is not a function

Without the formatOptions and type I get the unformatted output.

<Text text="{  
  path: 'model>LastCommDate'
}" />

Output: 2015-06-16T00:00:00

EDIT:

Same question for Time: How should look the patterns for a time-object?

type: sap.ui.model.type.Time

Unformated output: PT19H21M29S

回答1:

First of all it depends on how your date is stored in the model. If you have it as JavaScript date object, your example should work.

If you have it as a string, you need to tell the Date type how to parse the string, i.e. which format to expect. You do so by adding a source section to the formatOptions:

  <Text text="{
    path: 'model>LastCommDate',
    type: 'sap.ui.model.type.Date',
    formatOptions: {
      source: {
        pattern: 'yyyy-MM-ddTHH:mm:ss'
      },
      pattern: 'yyyy/MM/dd'
    }
  }" />

For a comparison of the two see this example.



标签: odata sapui5