我有这个日期来自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'
}}"
我不清楚这种日期格式是如何工作的。我的意思是需要给出的模式是什么? 请帮我解决一下这个。谢谢!
答案 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