¿Cómo agregar la fecha / hora del servicio OData correctamente a la interfaz de usuario?

Contexto

Estoy creando una pequeña página de demostración que muestra algunas funciones sencillas de UI5. Esta página consta de dos páginas principales:

En la primera página, hay una lista de operadores que se pueden crear, eliminar y actualizar. Estos operadores tienen una identificación (Carrid)Si uno hace clic en una aerolínea, se enruta a la segunda página en la que se muestran todos los vuelos de la aerolínea seleccionada en una tabla (con información sobre los vuelos).

La tabla se ve así:

<Table id="detailTable" inset="false" class="sapUiResponsiveMargin">
    <columns>
        <Column>
            <Text text="ID" />
        </Column>
        <Column>
            <Text text="Flightnumber" />
        </Column>
        <Column>
            <Text text="Starts in" />
        </Column>
        <Column>
            <Text text="Departs at" />   
        </Column> 
        <Column>
            <Text text="Lands in" />   
        </Column> 
        <Column>
            <Text text="Lands at" />   
        </Column>
    </columns>
</Table>

Los datos están vinculados a las columnas con este código:

// Get routing data and show only entrys with the matched primary key (Carrid)
_onRouteMatched: function(oEvent) {
    // ...
    var oArgs = oEvent.getParameter("arguments");
    var oFlightTable = oView.byId("detailTable");
    oFlightTable.bindAggregation("items", {
        path: "/CarrierSet(" + "'" + oArgs.flightPath + "'" + ")/FlightSet",
        template: new sap.m.ColumnListItem({
            cells: [
                new sap.m.Text({
                    text: "{Carrid}"
                }),
                new sap.m.Text({
                    text: "{Connid}"
                }),
                new sap.m.Text({
                    text: "{Cityfrom}"
                }),
                new sap.m.Text({
                    text: "{Deptime}"
                }),
                new sap.m.Text({
                    text: "{Cityto}"
                }),
                new sap.m.Text({
                    text: "{Arrtime}"
                })
            ]
        })
    });
}
Problema

El código funciona bien si los datos se pueden mostrar sin manipularlos primero. Pero los campos{Deptime} y{Arrtime} tener el tipoEdm.Time que necesito convertir primero para mostrarlo en una forma legible para humanos.
Pude lograr esto con este código (lo sé, no es la forma más eficiente, pero todavía estoy aprendiendo. Así que si tienes alguna mejora, no dudes en publicarla):

pageTable.addEventDelegate({
    onAfterRendering: function() {
        var mTable = this.getView("FilterBarSimple").byId("detailTable");
        var mModel = mTable.getModel();
        var aItems = mTable.getItems();

        // ----- TIME CONVERSION ----

        var arrayTime = [];
        for (var iTime = 0; iTime < aItems.length; iTime++) {
            var iAdded = mModel.getProperty("Deptime", aItems[iTime].getBindingContext());
            arrayTime.push(iAdded);
        }
        var timeFormat = sap.ui.core.format.DateFormat.getTimeInstance({
            pattern: "kk:mm:ss"
        });
        var tz = new Date(0).getTimezoneOffset() * 60 * 1000;
        var arrayTimeClean = [];
        $.each(arrayTime, function(ii, ee) {
            var timeStr = timeFormat.format(new Date(ee.ms + tz));
            arrayTimeClean.push(timeStr);
        });
    }
});

Esto genera esta salida que es correcta:

Pero no puedo vincular correctamente estos datos manipulados en la tabla nuevamente. Lo he intentado con elOData.read() función y algunos otros enfoques bastante hacky pero nunca tuve éxito y estoy atrapado con este problema desde hace bastante tiempo.

Si alguien tiene una idea o una sugerencia, estaría más que agradecido si me avisas.

Respuestas a la pregunta(1)

Su respuesta a la pregunta