sapui5

时间:2015-05-20 10:19:02

标签: sapui5 date-formatting

我有这个日期来自json- startDate:" 2014-12-07T00:00:00"并且视图应该呈现为2014年12月7日。 我使用了以下格式化它。

text="{ path: 'startDate',
        type: 'sap.ui.model.type.Date',
        formatOptions: {
                source: {pattern: 'yyyy/MM/dd HH:mm:ss'}, 
                style: 'medium'
       }}"

我不清楚这种日期格式是如何工作的。我的意思是需要给出的模式是什么? 请帮我解决一下这个。谢谢!

3 个答案:

答案 0 :(得分:1)

我还遇到了解析JSON格式日期的问题。在我的例子中,字符串就像

JSON.stringify(new Date(Date.now()));
// returns "2018-03-06T05:20:16.143Z"
new Date(Date.now()).toISOString();
// returns 2018-03-06T05:20:16.143Z

根据MDN已成为ECMAScript 5.1(ECMA-262)的标准。在这种情况下使用的正确模式是yyyy-MM-ddTHH:mm:ss.SSSX

<Text text="{ path: 'myDateTime',
    type: 'sap.ui.model.type.DateTime',
    formatOptions: {
        source: {pattern: 'yyyy-MM-ddTHH:mm:ss.SSSX'},
        style: 'medium'
    }}"/>

此外,如果您的JSON使用不同的表示法,您可以根据此构建自己的模式:Date Field Symbol Table

我希望这可以帮助任何遇到这种处理JSON格式的DateTime值的人。

答案 1 :(得分:0)

当我为这个yyyy-MM-ddTHH制作模式时它起作用了:mm:ss

答案 2 :(得分:0)

鉴于您的startDate:“ 2014-12-07T00:00:00”,我建议使用下面的代码段(yyyy-MM-ddTHH:mm:ss)中提到的源模式,因为它与您的源日期相匹配。

不使用'style'属性,而是采用旧的流行方式。 因此,在您的情况下,模式'MMM dd,yyyy'应该可以完成工作。

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

要对模式进行修改,我建议使用提到的日期格式缩写here