2011-11-04 52 views

回答

1
var date = "2011-08-02T00:00:00-00:00".split('T')[0].split('-').reverse(); 
var month = date[0], day = date[1]; 

//remove 0 in the beginning if not necessary 
if (+month < 10) { 
    month = month.slice(1); 
} 
if (+day < 10) { 
    day = day.slice(1); 
} 

//swap between the two 
date[0] = day; 
date[1] = month; 

date.join('-'); 

或者您可以使用無聊Date的方式。

+0

可愛。但是,生產02-08-2011,而不是08-02-2011。您已通過顛倒整個陣列來切換月份和日期。 –

+1

@JacobM挑戰接受。 – Zirak

+0

出於某種原因,Date()在Titanium中不起作用...去圖...無論如何,這讓我走上了正軌。謝謝!!! – rogerlsmith

1

下面的代碼:

x=new Date("2011-08-02T00:00:00-00:00") 
str=(x.getUTCMonth()+1)+"-"+x.getUTCDate()+"-"+x.getUTCFullYear() 

或者:

x="2011-08-02T00:00:00-00:00" 
x=/^(\d+)\-(\d+)\-(\d+)/.exec(x) 
if(x){ 
    str=(parseInt(x[2],10)+"-"+parseInt(x[3],10)+"-"+parseInt(x[1],10)) 
} 
+0

無需使用Date.parse - 字符串將直接在日期構造工作。 –

+0

我的回答已被編輯。但至少它是第一次。 –

+0

你的建議在jsfiddle中工作得很好,但由於某些原因,它不適用於Titanium Studio(適用於Android應用程序)。必須有一些Titanium API Date函數讓我感到困惑。 – rogerlsmith

0

這種格式將在javascript日期構造工作:

var d = new Date("2011-08-02T00:00:00-00:00"); 
var month = d.getUTCMonth() + 1; 
var day = d.getUTCDate(); 
var year = d.getUTCFullYear(); 

var output = month + "-" + day + "-" + year; 
+0

+1爲正確的概念。不要忘記以'var'爲前綴。 –

+0

@Rob:是的,你說得對。 –

0

一種方式可能是分裂的日期部分

var date = "2011-08-02T00:00:00-00:00"; 

var dpart = (date.substr(0,10)).split("-"); 

var odate = parseInt(dpart[1],10)+"-"+parseInt(dpart[2],10)+"-"+dpart[0];