SAPUI5:输出格式化日期

ale*_*ire 2 odata sapui5

我开发了一个带有 XML 视图的 SAPUI5 应用程序。

现在我想正确格式化日期。

我尝试了以下方法:

 <Text text="{  
   path: 'model>LastCommDate',  
   type: 'sap.ui.model.type.Date',  
   formatOptions: {  
     pattern: 'yyyy/MM/dd'  
   }
 }" />
Run Code Online (Sandbox Code Playgroud)

错误信息: datajs.js:17 Uncaught TypeError: j.getTime is not a function

没有formatOptionstype我得到未格式化的输出。

<Text text="{  
  path: 'model>LastCommDate'
}" />
Run Code Online (Sandbox Code Playgroud)

输出: 2015-06-16T00:00:00

编辑:

同样的问题Time:应该如何查看时间对象的模式?

类型: sap.ui.model.type.Time

未格式化输出: PT19H21M29S

hir*_*rse 6

首先,这取决于您的日期在模型中的存储方式。如果你把它作为 JavaScript 日期对象,你的例子应该可以工作。

如果你把它作为一个字符串,你需要告诉 Date 类型如何解析字符串,即期望的格式。您可以通过向 中添加一个source部分来实现formatOptions

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

有关两者的比较,请参见此示例