datepicker - SAPUI5中如何选择日历周?

标签 datepicker sapui5

我正在寻找一种使用 DatePicker 仅选择日历周的方法。 有没有一种方法可以配置该控件,使其允许选择一周并在本周之外发送 DateTime 元素?

我检测到以下条目以及格式选项列表,但周格式似乎不起作用: http://scn.sap.com/community/developer-center/front-end/blog/2013/04/28/working-with-odata-dates

此代码似乎不起作用:

new sap.m.DatePicker({
  value : {
    path : "DateTime",
    type : new sap.ui.model.type.Date({pattern: "w yy"})
  }
}),

绑定(bind)到 Edm:DateTime 类型的 OData 属性 DateTime

最佳答案

需要注意的几点:

虽然SAPUI5说它支持一年中的几周,但目前!//我测试过

为什么? SAPUI5的DateFormat.js文件中

case "weekInYear":
    sWeek = "";
    //TODO getWeek does not exist on Date object
    //-> this is a preparation for a future or custom week support
    if (oDate.getWeek) {
        sWeek += oDate.getWeek();
    }
    aBuffer.push(jQuery.sap.padLeft(sWeek, "0", oPart.iDigits));
    break;

如您所见,它在TODO列表中!!

解决方法?是的:

jQuery.sap.require("sap.ui.core.format.DateFormat");

//define getWeek function
Date.prototype.getWeek = function () {
    var d = new Date(+this);
    d.setHours(0, 0, 0);
    d.setDate(d.getDate() + 4 - (d.getDay() || 7));
    return Math.ceil((((d - new Date(d.getFullYear(), 0, 1)) / 8.64e7) + 1) / 7);
};
var oDateFormat = sap.ui.core.format.DateFormat.getDateInstance({
    pattern: "w y"
});
var oDatePicker = new sap.m.DatePicker({
    dateValue: new Date(),
    displayFormat: "w y"
})

JSBin code piece is here

关于datepicker - SAPUI5中如何选择日历周?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31315940/

相关文章:

javascript - 根据在 javascript 或 jquery 中选择的日期禁用日期选择器的先前日期

php - jquery-ui datepicker php+mysql问题

javascript - 从 sapui5 中的压力处理程序内部调用 Controller 函数

javascript - 使用 Cordova Hybrid 应用程序将文件复制到路径

css - 如何在 sap.m.DatePicker 中给月份上色?

data-binding - 我可以使用工厂函数来绑定(bind) "sap.ui.table.Table"控件中的行和列吗?

javascript - 向 jQuery datepicker() 函数添加时间

jquery - 根据当前年份在日期选择器中设置年份

android - 为什么日期对话框要求单击三次以关闭

javascript - 如何在路由中传递数组值(来自multiCombo框)以绑定(bind)到sapui5中的另一个 View 中