如何将“2018911”之类的字符串格式化为日期?

How to format a string like `2018911` into a Date?

从后端来看,日期格式如上,我想使用格式化程序将日期格式化为实际日期。我的 detailpage 中有一个 datepicker 并且 datepicker 想要一个真实的日期,显示出来。

所以我尝试了一下,但无法正常工作。所以也许有人可以帮助我或指导如何去做?我知道我可以在后端格式化日期,但我需要像上面那样将其作为字符串。

如果你在这里使用 sap.m.DatePicker 一个例子:

<DatePicker
        id="DP2"
        value="2014-03-26" valueFormat="yyyy-MM-dd" displayFormat="long"
        change="handleChange"
        class="sapUiSmallMarginBottom"/>

valueFormatdisplayFormat 属性可以根据需要调整日期格式。

  • valueFormat 是用户点击日期时你想要的日期格式,你可以抓取 oEvent.

  • displayFormat是你要显示的日期格式。

引用SAPUI 5 DatePicker example

您好,您可以使用以下 js 代码从收到的字符串创建日期

 getDate:function(value){
//value is your string from backend "20120515"
if(value){
        var dateString  = value;
        var year        = dateString.substring(0,4);
        var month       = dateString.substring(4,6);
        var day         = dateString.substring(6,8);

        var date        = new Date(year, month-1, day);

    return date; // Keep in mind the date returned will only be correct if the string is passed in above format
    }
}

您可以在 formatter.js 文件中使用上述功能,也可以在日期选择器中使用,如下所示

<DatePicker value="{path:'modelDateProperty', formatter:'.formatter.getDate', }" />

希望对您有所帮助