【问题标题】:How to keep the format of ExtJS timefield in 24hours如何将 ExtJS 时间字段的格式保持在 24 小时内
【发布时间】:2013-07-10 09:16:55
【问题描述】:

我正在尝试使用 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 小时制。

我希望我想说的很清楚。

谢谢 迪米特里斯

【问题讨论】:

  • 您使用的是什么版本的 Ext?您是否尝试过为该字段添加 submitFormat 配置?

标签: extjs timefield


【解决方案1】:

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

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

Sample here

【讨论】:

    【解决方案2】:

    我发现如果我使用:

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

    我以 24 格式检索时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-06
      • 1970-01-01
      • 1970-01-01
      • 2021-09-18
      • 1970-01-01
      • 1970-01-01
      • 2015-01-24
      • 2011-11-18
      相关资源
      最近更新 更多