需要日期格式的帮助

时间:2014-12-30 05:46:09

标签: sapui5

我在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"。请提供宝贵的建议。

3 个答案:

答案 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();