Ext.application({
name: 'Fiddle',
launch: function () {
var t1 = Ext.create('Ext.form.field.Time', {
xtype: 'timefield',
name: 'in',
fieldLabel: 'Time In',
minValue: '6:00 AM',
maxValue: '8:00 PM',
increment: 60,
renderTo: Ext.getBody()
});
var time = Ext.Date.add(new Date(), Ext.Date.HOUR, + 14).getHours(); //getting hour values in 24 format want in 12 hours format
t1.setMaxValue(time); //unable to setMaxValue
}
});
答案 0 :(得分:1)
您可以使用Ext.Date课程获得12小时格式。
以下是一些格式: -
我创建了一个Sencha fiddle演示,它展示了如何工作。希望这能帮助您解决问题。
Ext.create('Ext.form.Panel', {
title: 'Time Card',
width: 300,
bodyPadding: 10,
renderTo: Ext.getBody(),
defaults: {
xtype: 'timefield',
minValue: '6:00 AM',
maxValue: '8:00 PM',
increment: 30,
anchor: '100%',
listeners: {
change: function (timefield, newValue) {
Ext.Msg.alert('Succes', 'Good you have selected <b>' + Ext.Date.format(newValue, 'g:i A') + '</b>');
}
}
},
items: [{
name: 'in',
fieldLabel: 'Time In'
}, {
name: 'out',
fieldLabel: 'Time Out'
}, {
xtype: 'button',
text: 'Get current GMT+14 Time',
handler: function () {
var date = new Date(),
dateGmtPlus14 = new Date(date.valueOf() + date.getTimezoneOffset() * 60000); //Multiply this by 60,000 (milliseconds in a minute) to get the milliseconds and subtract from the date to create a new date
Ext.Msg.alert('Succes', 'Current time with GMT+14 is <br> 12 hours format : <b>' + Ext.Date.format(dateGmtPlus14, 'g:i:s A') +
'</b><br>24 hours format: <b> ' + Ext.Date.format(dateGmtPlus14, 'G:i:s') + '</b>');
}
}]
});
您可以使用Date.getTimezoneOffset()或MDN。这将返回您的日期和GMT之间的时差,以分钟为单位。
将此值乘以60,000(一分钟内的毫秒数)以获得毫秒数并从日期中减去以创建新日期。
new Date(date.valueOf() + date.getTimezoneOffset() * 60000)