在 SAPUI5 之后从日期选择器中选择后更改日期格式

Changing the format of date after picking from datepicker after SAPUI5

我有一个日期选择器,我想从中提取日期并显示在标签中。目前日期以 MM/DD/YYYY 格式显示,但我希望它以 MMM dd, yyyy 格式显示(2017 年 11 月 17 日)。下面是代码:

screenDate=view.byId("screeningDate").getValue();
var date = view.byId("__date");
date.setText(screenDate);

XML :

    <HBox alignItems="Center" renderType="Bare">
                    <Label text="Date of Screening" width="50%"/>
                    <DatePicker class="sapUiLargeMarginBegin" width="50%" id="screeningDate"/>
                </HBox>

仅供参考,通过获取视图控件并更新其中的 属性 并不好。要是有模型就好了

您的问题的解决方案如下,

<Label text="{
            path: '/date',
            type: 'sap.ui.model.type.Date',
            formatOptions: {
                style: 'medium',
                pattern: 'MMM dd, yyyy'
            }}"/>
<DatePicker dateValue="{/date}"/>

在控制器中我有一个 JSONModel,如下所示,

onInit : function() {
    this.model = new JSONModel({
        date : new Date(0)
    });
    this.getView().setModel(this.model);
}

除了 Naveen 的回答之外,这里还有使用您现有代码的解决方案:

screenDate=view.byId("screeningDate").getValue();
var date = view.byId("__date");
// Make date object out of screenDate
var dateObject = new Date(screenDate);
// SAPUI5 date formatter
var dateFormat = sap.ui.core.format.DateFormat.getDateInstance({pattern : "MMM dd,YYYY" }); 
// Format the date
var dateFormatted = dateFormat.format(dateObject);
date.setText(dateFormatted);