Ext JS 格式数据到 "DD-MM-YYYY"

Ext JS Format DATA to "DD-MM-YYYY"

使用 ExtJS 4.2.3,我有带有文本字段的 FORM。我需要从商店到现场获取价值。我尝试以所需格式格式化数据时遇到问题。寻求语法方面的帮助以将数据格式化为 DD-MM-YYYY.

来源数据: /Date(1417986000000)/

尝试通过以下方式获取数据后:

Form_window.query('textfield[name="DateField"]')[0].setValue(NewDATA_store.getAt(1).get('DateData'))

我得到的: Mon Dec 08 2014 00:00:00 GMT+0300 (RTZ 2 (winter))

我需要的结果: 08.12.2014

尝试以下操作:

var inputDate = new Date('Mon Dec 08 2014 00:00:00 GMT+0300 (RTZ 2 (winter))');
var output = Ext.Date.format(inputDate, 'd.m.Y'); // will output: 08.12.2014

我使用 ES6 为您制作解决方案。 let 类似于 var 但仅获取声明 let 声明的上下文。有时是函数,有时是 for, if... var 声明获取其父函数的上下文。这意味着不尊重 fors 或 ifs 或其他只是功能。我提供的功能正在运行。

let formatDate = (param) => {
  let day = param.getDate() < 10 ? '0' + param.getDate() : param.getDate();
  let month = (param.getMonth()+1);
  let year = param.getFullYear();

  return day +"."+ month +"."+ year;
}

let date = new Date("Mon Dec 08 2014 00:00:00 GMT+0300 (RTZ 2 (winter))");

window.console.log(formatDate(date));

ExtJSDate singleton class available you need to use Ext.Date.formate()这个方法中。

一组Dateclass一组有用的静态方法来处理日期注意,如果需要并加载Ext.Date,它将为方便起见,将所有方法/属性复制到此对象。

用法示例(请注意,您必须使用“\”转义格式说明符以将其呈现为字符文字):

//Current date
var dt = new Date();
console.log(Ext.Date.format(dt, 'Y-m-d')); // 2017-12-26
console.log(Ext.Date.format(dt, 'F j, Y, g:i a')); //December 26, 2017, 11:28 am
console.log(Ext.Date.format(dt, 'l, \t\he jS \of F Y h:i:s A')); //Tuesday, the 26th of December 2017 11:28:02 AM

在此 FIDDLE 中,我使用 form、'textfield' 和 store 创建了一个演示。希望这对您有所帮助或指导。

 Ext.create('Ext.data.Store', {
     storeId: 'dateStore',
     fields: [{
         name: 'DateData',
         type: 'date'
     }],
     data: [{
         DateData: new Date()
     }]
 });

 Ext.create('Ext.form.Panel', {
     title: 'Simple Form',
     bodyPadding: 5,
     width: 350,

     layout: 'anchor',
     defaults: {
         anchor: '100%'
     },

     // The fields
     defaultType: 'textfield',
     items: [{
         fieldLabel: 'Today Date',
         name: 'DateField',
         readOnly: true
     }],
     renderTo: Ext.getBody(),
     listeners: {
         afterrender: function (form) {
             var store = Ext.data.StoreManager.lookup('dateStore'),
                 date = store.getAt(0).get('DateData');

             form.down('[name=DateField]').setValue(Ext.Date.format(date, 'd.m.Y'));
         }
     }
 });