1

我对 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
    };

在浏览器中我可以看到日期,但显示如下:'Fri Aug 23 2013 00:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)' 而不是:'23.08.2013'

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

ps.:对不起我的英语不好:p

4

1 回答 1

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);
于 2013-08-21T04:53:16.310 回答