【问题标题】:sencha touch dateFormat not working?sencha touch dateFormat 不起作用?
【发布时间】:2013-08-20 23:45:08
【问题描述】:

我是 sencha touch 的新手,我对 dateFormat 有疑问。

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

首先我有一个日期选择器字段来选择日期。

        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 显示出来了,我希望它是怎样的。

日期保存在本地存储中。

模型确实是这样的:

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äische Sommerzeit)' 而不是这个:'23.08.2013'

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

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

【问题讨论】:

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


    【解决方案1】:

    您可以将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);
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-13
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多