将JS格式的数据扩展为“DD-MM-YYYY”

问题描述 投票:0回答:3

使用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

javascript web extjs extjs4
3个回答
1
投票

在ExtJS Date单例类中,你需要使用Ext.Date.formate()方法。

用于处理日期的Date类有用的静态方法请注意,如果需要并加载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'));
         }
     }
 });

1
投票

请尝试以下方法:

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

0
投票

我使用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));
© www.soinside.com 2019 - 2024. All rights reserved.