如何增加sap.ui.commons.DatePicker

时间:2016-08-17 07:39:38

标签: javascript sapui5

对于UI5中的简单请假申请,我需要在每次按下按钮时将新sap.ui.commons.DatePicker的日期增加或减少一天,如何获取并设置新日期?

问题是DatePicker只返回Date的字符串。我已经尝试了新的Date(datePicker.getYyyymmdd()),但后来又回到了Invalide日期。

2 个答案:

答案 0 :(得分:0)

可以找到将字符串解析为日期对象的可能解决方案herehere

您还应该考虑切换到sap.m.DatePicker,因为版本> = 1.38中不推荐使用sap.ui.commons.DatePicker(不知道您使用的是哪个版本)。 sap.m.DatePicker也有方法getDateValue,它应该已经返回一个日期对象。

答案 1 :(得分:0)

Javascript中的日期操作非常简单。如果您想将日期添加到日期,则为date.setDate(date.getDate() + 1),并以相同的方式减去作品:date.setDate(date.getDate() - 1)

您只需将日期选择器使用的yyyymmdd格式恢复为Javascript的原生date类型即可。正如@ R.Schmitt所提到的,你当然可以使用Stackoverflow的任何Javascript技巧。另一方面,UI5团队已经在DateFormat类中为您构建了这个逻辑,因此最好利用它。

要从yyyymmdd转到date,您可以使用:

sap.ui.core.format.DateFormat.getDateInstance({pattern : "YYYYMMdd" }).parse(date);

要从date转换为yyyymmdd格式,您可以使用:

sap.ui.core.format.DateFormat.getDateInstance({pattern : "YYYYMMdd"}).format(yyymmdd);

要查看Javascript日期计算和UI5的DateFormat类,请查看此jsbin: http://jsbin.com/xeyiwic/1/edit?html,output