sencha touch dateFormat不工作?

时间:2013-08-20 23:45:08

标签: javascript date sencha-touch touch date-format

我对sencha touch非常新,我遇到了dateFormat的问题。

所以,这是一些代码,我写道:

首先,我有一个datepickerfield来选择日期。

        var activityDateCreator = {
        xtype: 'datepickerfield',
        destroyPickerOnHide: true,
        name: 'date',
        label: 'Datum',
        dateFormat: 'd.m.Y',
        value: new Date(),
        picker: {
            yearFrom: 2013,
            yearTo: 2014
        },
        required: true
    };

此时会显示dateFormat,我希望它如何。

日期保存在localStorage中。

模型确实如此:

Ext.define('RMA-App.model.Activity', {
extend: 'Ext.data.Model',

config: {
    idProperty: 'id',
    fields: [
        { name: 'id', type: 'int' },
        { name: 'name', type: 'string' },
        { name: 'sport', type: 'string' },
        { name: 'date', type: 'date' , dateFormat: 'd.m.Y'},
        { name: 'time', type: 'string' },
        { name: 'street', type: 'string' },
        { name: 'place', type: 'string' },
        { name: 'comments', type: 'string' },
        { name: 'save', type: 'boolean'},
        { name: 'latitude', type: 'number'},
        { name: 'longitude', type: 'number' }
    ],
    validations:[
        { type: 'presence', field: 'id' },
        { type: 'presence', name: 'date'},
        { type: 'presence', name: 'name', message: "Bitte geben Sie Ihren Namen an!"},
        { type: 'presence', name: 'time', message: "Bitte geben Sie eine Zeit an!"},
        { type: 'format', name: 'time', matcher: /^([01]?[0-9]|2[0-3]):[0-5][0-9]$/, 
        message: "Bitte stellen Sie sicher, dass sie die Zeit im richtigen Format angeben. <br>Beispiel: 08:30"},
        { type: 'presence', name: 'street', message: "Bitte geben Sie die Straße für den Treffpunkt an!"}

    ]
}

});

现在我想在文本字段中显示日期,该日期与日期选择器不在同一视图中。

    var activityDate = {
        xtype: 'textfield',
        name: 'date',
        label: 'Datum',
        readOnly: true
    };
在浏览器中我可以看到日期,但它显示如下: '2013年8月23日星期五00:00:00 GMT + 0200(MitteleuropäischeSommerzeit)' 而不是:'23 .08.2013'

希望有人能解决我的问题。

ps:对不起我的英语很差:p

1 个答案:

答案 0 :(得分:0)

您可以将Fri Aug 23 2013 00:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)格式转换为23.08.2013

在Extjs中

var date = new Date('Fri Aug 23 2013 00:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)');
console.log(Ext.Date.format(date, 'd.m.Y'));

纯粹的Javascript

var date = new Date('Fri Aug 23 2013 00:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)');
var curr_date = date.getDate();
var curr_month = date.getMonth() + 1; 
var curr_year = date.getFullYear();
console.log(curr_date + "." + curr_month + "." + curr_year);