4

我正在尝试使用 extJS 创建一个时间域组合框。我已成功完成此操作,但现在当我获得在组合框中选择的值时遇到问题。首先是制作时间域的代码:

 items :[{
    fieldLabel: 'Start Time',
    name: 'startTime',
    xtype: 'timefield',
    id: 'startTime',
    format: 'H:i',
    altFormats:'H:i',
    increment: 30
        }]

我想要的是获取 24 小时格式的值。为了从时间字段中获取值,我使用以下代码:

    var startTime = Ext.getCmp('startTime').getSubmitValue();

问题是,不是以 24 小时格式获取时间,而是将值转换为 12 小时格式。例如,当我从组合中选择时间:00:00 时,当我使用 getSubmitValue() 时,该值将转换为 12:00 AM,这在我的情况下不是很有用。

我的问题是:有没有办法让时间格式在组合框中完全保持不变?那将是 24 小时格式。

我希望我想说的很清楚。

谢谢迪米特里斯

4

2 回答 2

6

原因很简单。
getValue返回日期对象,getSubmitValue返回格式化日期。
您只需要格式化通过getValue方法收到的日期。

var field = Ext.getCmp('startTime');
var value = field.getValue();
var formattedValue = Ext.Date.format(value, 'H:i');

样品在这里

于 2013-07-10T14:55:12.800 回答
0

我发现如果我使用:

var startTime = Ext.getCmp('startTime').getRawValue();

我以 24 格式检索时间。

于 2013-09-03T12:07:20.850 回答