我有这个日期来自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'
}}"
我不清楚这种日期格式是如何工作的。我的意思是需要给出的模式是什么?请帮我解决一下这个。谢谢 !
我也遇到了解析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值的人。
当我为这个yyyy-MM-ddTHH:mm:ss制作模式时它起作用了
鉴于你的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提到的日期格式缩写