Android 钛-如何仅显示月日期年

Android 钛-如何仅显示月日期年,android,date,titanium,titanium-mobile,Android,Date,Titanium,Titanium Mobile,我正在尝试创建一个标签,允许用户选择钛合金的日期。我的代码可以编译,但当我只要求日期时,它会显示日期和时间(注意:我使用Android仿真器进行测试)。有人能看看我的代码,给我一个如何解决这个问题的提示吗?非常感谢你的帮助 //create a new window var addWin = Titanium.UI.createWindow({ title: "Add New Entry", backgroundColor: '#ffffff' }); //header //a

我正在尝试创建一个标签,允许用户选择钛合金的日期。我的代码可以编译,但当我只要求日期时,它会显示日期和时间(注意:我使用Android仿真器进行测试)。有人能看看我的代码,给我一个如何解决这个问题的提示吗?非常感谢你的帮助

//create a new window
var addWin = Titanium.UI.createWindow({
    title: "Add New Entry",
    backgroundColor: '#ffffff'
});

//header
//addWin.add(Inova.ui.createHeaderView());  //error

//body
var body = Titanium.UI.createView({
    backgroundColor:'#fff', 
    height: 800,
    layout: 'vertical'
});

//Addin a label to the body
body.add(Titanium.UI.createLabel({
    text: 'New Travel Entry',
    top: 10,
    color: '#008000',
    textAlign: 'center',
    font: {fontSize:20},
    width:'auto',      //Define width of the label
    height:'auto'      //Define height of the label
}));

var dateLabel = Titanium.UI.createTextField({
    text: 'Date: ',
    hintText:'Click here to select a date',
    font: {fontSize: 20},
    top:20,
    left:10,
    width:'auto',
    height: 'auto',
    color: '#336699',
    editable:false,
    borderStyle:Ti.UI.INPUT_BORDERSTYLE_ROUNDED
});

var dateUpdated = false;

dateLabel.addEventListener('click', function(e){
    var picker = Titanium.UI.createPicker({
        type: Titanium.UI.PICKER_TYPE_DATE,
        minDate: new Date(2012,1,1),
        maxDate: new Date(2014,12,30),
        value: new Date(2013,12,2)
    });

    picker.showDatePickerDialog({
        value: new Date(2012,12,2),
        callback: function(e)
        {
            if (e.cancel)
            {
                Titanium.API.info('User canceled dialog');
            } else 
            {
                Titanium.API.info ('USer selected date: ' + e.value);
                dateLabel.value = e.value;
                dateLabel.text = (e.value.getMonth() + 1) + '/' + e.value.getDate() + '/' + e.value.getFullYear(),
                dateUpdated = true;
            }
        }
    });
});

body.add(dateLabel);


addWin.add(body);
addWin.open();

你的问题从这里开始:

var dateLabel = Titanium.UI.createTextField({
    text: 'Date: ',
您定义的不是
标签
,而是
文本字段
。为了清晰起见,我会将其名称改为dateField或dateTextField

TextField没有文本属性,它有value属性

您正在设置
dateLabel.value=e.value这就是为什么您看到您提到的值
Sun Feb 02 14:08:28 PST 2013
。该片段应更改为:

...

var dateUpdated = false;

dateLabel.addEventListener('click', function(e){

...
        } else 
        {
            Titanium.API.info ('USer selected date: ' + e.value);
            dateLabel.value =  e.value.toDateString().slice(4);
            dateUpdated = true;
        }
...

这样,dateLabel.value将生成类似“Dec 02 2013”的内容。

您的代码看起来不错,我只从这行代码中了解您的意思:
tianium.API.info('USer selected date:'+e.value)
您的标签具有正确的值
dateLabel.text=(e.value.getMonth()+1)+'/'+e.value.getDate()+'/'+e.value.getFullYear()
。你确定这就是你的问题吗?@kabomi:是的,我一直得到的结果是“Sun Feb 02 14:08:28 PST 2013”。我想展示一些类似“2013年2月2日”的东西。你对我如何改变它有什么建议吗?