Angular 剑道UI角度格式时间

Angular 剑道UI角度格式时间,angular,kendo-ui,kendo-grid,Angular,Kendo Ui,Kendo Grid,我希望我在剑道格网中的时间以天、小时、分和秒的形式显示,而不是日期。例如:我想把125格式化为2h 5min或类似的格式。有可能吗 <kendo-grid-column field="{{column}}" format="{0:something}" > 以下日期格式适用于Chrome,即不支持所有格式。根据您的要求,您可以从格式中发出日期部分 注意:对于剑道格网,您必须应用类似于日期:'MM/dd/

我希望我在剑道格网中的时间以天、小时、分和秒的形式显示,而不是日期。例如:我想把
125
格式化为
2h 5min
或类似的格式。有可能吗

<kendo-grid-column
              field="{{column}}"
              format="{0:something}"
            >

以下日期格式适用于Chrome,即不支持所有格式。根据您的要求,您可以从格式中发出日期部分

注意:对于剑道格网,您必须应用类似于
日期:'MM/dd/yyyy'

后端:

public todayDate = new Date(Date.parse(Date()));
<select>
    <option value=""></option>
    <option value="MM/dd/yyyy">[{{todayDate | date:'MM/dd/yyyy'}}]</option>
    <option value="EEEE, MMMM d, yyyy">[{{todayDate | date:'EEEE, MMMM d, yyyy'}}]</option>
    <option value="EEEE, MMMM d, yyyy h:mm a">[{{todayDate | date:'EEEE, MMMM d, yyyy h:mm a'}}]</option>
    <option value="EEEE, MMMM d, yyyy h:mm:ss a">[{{todayDate | date:'EEEE, MMMM d, yyyy h:mm:ss a'}}]</option>
    <option value="MM/dd/yyyy h:mm a">[{{todayDate | date:'MM/dd/yyyy h:mm a'}}]</option>
    <option value="MM/dd/yyyy h:mm:ss a">[{{todayDate | date:'MM/dd/yyyy h:mm:ss a'}}]</option>
    <option value="MMMM d">[{{todayDate | date:'MMMM d'}}]</option>   
    <option value="yyyy-MM-ddTHH:mm:ss">[{{todayDate | date:'yyyy-MM-ddTHH:mm:ss'}}]</option>
    <option value="h:mm a">[{{todayDate | date:'h:mm a'}}]</option>
    <option value="h:mm:ss a">[{{todayDate | date:'h:mm:ss a'}}]</option>      
    <option value="EEEE, MMMM d, yyyy hh:mm:ss a">[{{todayDate | date:'EEEE, MMMM d, yyyy hh:mm:ss a'}}]</option>
    <option value="MMMM yyyy">[{{todayDate | date:'MMMM yyyy'}}]</option>      
</select>
UI:

public todayDate = new Date(Date.parse(Date()));
<select>
    <option value=""></option>
    <option value="MM/dd/yyyy">[{{todayDate | date:'MM/dd/yyyy'}}]</option>
    <option value="EEEE, MMMM d, yyyy">[{{todayDate | date:'EEEE, MMMM d, yyyy'}}]</option>
    <option value="EEEE, MMMM d, yyyy h:mm a">[{{todayDate | date:'EEEE, MMMM d, yyyy h:mm a'}}]</option>
    <option value="EEEE, MMMM d, yyyy h:mm:ss a">[{{todayDate | date:'EEEE, MMMM d, yyyy h:mm:ss a'}}]</option>
    <option value="MM/dd/yyyy h:mm a">[{{todayDate | date:'MM/dd/yyyy h:mm a'}}]</option>
    <option value="MM/dd/yyyy h:mm:ss a">[{{todayDate | date:'MM/dd/yyyy h:mm:ss a'}}]</option>
    <option value="MMMM d">[{{todayDate | date:'MMMM d'}}]</option>   
    <option value="yyyy-MM-ddTHH:mm:ss">[{{todayDate | date:'yyyy-MM-ddTHH:mm:ss'}}]</option>
    <option value="h:mm a">[{{todayDate | date:'h:mm a'}}]</option>
    <option value="h:mm:ss a">[{{todayDate | date:'h:mm:ss a'}}]</option>      
    <option value="EEEE, MMMM d, yyyy hh:mm:ss a">[{{todayDate | date:'EEEE, MMMM d, yyyy hh:mm:ss a'}}]</option>
    <option value="MMMM yyyy">[{{todayDate | date:'MMMM yyyy'}}]</option>      
</select>

[{{todayDate}日期:'MM/dd/yyyy'}]
[{todayDate | date:'eee,MMMM d,yyyy'}]
[{{todayDate | date:'eee,MMMM d,yyyy h:mm a'}]
[{{todayDate | date:'eee,MMMM d,yyyy h:mm:ss a'}]
[{{todayDate}日期:'MM/dd/yyyy h:MM a'}]
[{{todayDate}日期:'MM/dd/yyyy h:MM:ss a'}]
[{{todayDate | date:'MMMM d'}]
[{{todayDate}日期:'yyyy-MM-ddTHH:MM:ss'}]
[{{todayDate | date:'h:mm a'}]
[{{todayDate | date:'h:mm:ss a'}]
[{{todayDate | date:'eee,MMMM d,yyyy hh:mm:ss a'}]
[{{todayDate | date:'MMMM-yyyy'}]

首先,您需要创建自己的Javascript函数或导入一个库,将整数解析为小时、分钟和秒组件。有一种很好且简单的扩展方法,您可以稍微修改它以满足您的需求,如下所示:

String.prototype.toHHMMSS = function () {

    var sec_num = parseInt(this, 10); // don't forget the second param
    var hours   = Math.floor(sec_num / 3600);
    var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
    var seconds = sec_num - (hours * 3600) - (minutes * 60);

    return hours+' hours '+minutes+' minutes '+seconds+' seconds';
}
您应该在网格初始化之前将其添加到页面的某个位置

然后需要为列创建一个模板,将扩展方法应用于该值。在下面的示例中,我首先将该值乘以60,因为扩展方法使用秒而不是分钟:

<kendo-grid-column
              field="{{column}}"
              template="{{(column*60).toString().toHHMMSS()}}"
            >


注意:我不使用Angular,所以我不能100%确定模板语法是否正确,但我使用JQuery剑道网格进行了尝试,效果很好。

谢谢,但我想得到类似这样的结果:''3小时、2分钟和45秒'。此解决方案是否可行?能否提供有关数据的更多信息?您的意思是不希望将其格式化为日期,但随后您给出了一个带有整数值的示例。您是否有一个始终包含分钟数的整数列?完全正确。我的数据是纯整数。