我在Fiori启动板中的默认日期设置为"dd.MM.yyyy, HH:mm"
(例如:" 30.12.2014,10:36")。每当我从日期选择器中查看日期时,我都会以上述格式获取日期。
现在我想通过ODataModel将此日期发送到后端,ODataModel通常接受XML日期格式的日期(2014-12-30)。我尝试了以下代码,但它没有用。
// Get 'from' date and time
var fromDate = view.byId("fromDate").getValue(); // "30.12.2014, 10:36"
var oDateFormat = sap.ui.core.format.DateFormat.getDateTimeInstance({
pattern : "yyyy-MM-dd"
});
var subFromDate = oDateFormat.format(new Date(fromDate));// "0NaN-NaN-NaN".
当我签入调试器模式时,subFromDate中的值为"0NaN-NaN-NaN"
。请提供宝贵的建议。
答案 0 :(得分:0)
fromDate 并不正确。当我使用新日期(" 30.12.2014,10:36")时,控制台显示消息"无效日期"。
我想了解更多关于"日期"的信息。来自MDN(link)。
新日期(dateString)
表示日期的字符串值。该字符串应采用Date.parse()方法识别的格式。 dateString可以是2014年10月12日10:36'。
所以你需要更换'。'和','到' '在fromDate第一。
答案 1 :(得分:0)
您可以使用getDateValue()
方法代替getValue
这是示例
// Get 'from' date and time
var fromDate = view.byId("fromDate").getDateValue(); // "30.12.2014, 10:36"
var oDateFormat = sap.ui.core.format.DateFormat.getDateTimeInstance({
pattern : "yyyy-MM-dd"
});
var subFromDate = oDateFormat.format(new Date(fromDate)); // "2014-12-30"
答案 2 :(得分:0)
您可以使用日期时间选择器的显示格式和值格式属性。
new sap.m.DateTimePicker("ED",{
valueFormat: "yyyy-MM-ddTHH:mm:ss",
displayFormat: "dd-MM-yyyy HH:mm:ss"
});
您可以轻松地使用来获取值
sap.ui.getCore().getControl("ED").getValue();