Android 钛-如何仅显示月日期年
我正在尝试创建一个标签,允许用户选择钛合金的日期。我的代码可以编译,但当我只要求日期时,它会显示日期和时间(注意:我使用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
//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日”的东西。你对我如何改变它有什么建议吗?