2014-04-08 52 views
0

我建立一個iPhone應用程序與科爾多瓦和我用的是原生的日期時間選擇器這樣的:轉換輸入的日期時間使用javascript

<input type="datetime-local" id="date" name="date" value="" /> 

當我保存表格並WebDB其保存像推到我的本地數據庫這樣的:

row.datetime // 2014-04-03T21:23 

什麼,我想這樣做是這樣的:

<span>hh:mm</span><br> 
<span>dd-mm-yyyy</span> 

有沒有辦法做到這一點使用j個avascript?

回答

0

這是我的最終解決方案:

的jsfiddle:http://jsfiddle.net/GCHg3/

var strDate = "2014-04-03T21:23"; 
var dateParts = strDate.split(/-|T/); 
var datetime = "<span>" + dateParts[3] + "</span><br><span>" + dateParts[2] + "-" + dateParts[1] + "-" + dateParts[0] + "</span>"; 

document.getElementById('output').innerHTML += datetime; 
+0

在iPhone上有時節省時間,它也節省微秒,解決這個在這個小提琴:http://jsfiddle.net/ED8yY/ –

0

您可以使用JS庫格式化日期時間。像MomentJS - http://momentjs.com/或DateJS - http://www.datejs.com/將允許您格式化。否則,如果您不想處理太多內容,請使用內置的JavaScript方法獲取日期和時間值並構建自己的字符串。

有關詳細信息,請參閱https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date。 Getter方法對你的情況很重要。 JS日期對象支持getMonth,getDate,getFullYear,getHours,getMinutes等......您可以將這些值轉換爲變量並從中構建您的字符串。

例小提琴:http://jsfiddle.net/zS77J/

代碼:

var dt = new Date(); // new date obj 

// use date methods to get values 
var hr = dt.getHours(); 
var mn = dt.getMinutes(); 
var dy = dt.getDate(); 
var mo = dt.getMonth(); 
var yr = dt.getFullYear(); 

var timeStr = hr+':'+mn; // time string with hours and mins 
var dateStr = dy+'-'+mo+'-'+yr; // date format dd-mm-yyyy 
+0

感謝您的幫助!選擇另一種選擇,但仍然感謝。 –

0

不要使用datetime財產,但valueAsDate。您可以輕鬆地從建立你的字符串:

var row = document.getElementById("date"); 
var dt = row.valueAsDate; 
if (!dt || isNaN(dt)) 
    return '<span class="error">Invalid Date</span>'; 
else 
    return '<span>'+pad(dt.getUTCHours())+':'+pad(dt.getUTCMinutes())+'</span><br>' 
     + '<span>'+pad(dt.getUTCDate())+'-'+pad(dt.getUTCMonth()+1)+'-'+dt.getUTCFullYear()+'</span>'; 

function pad(v) { return ('0'+v).slice(-2); } 
+0

感謝您的幫助!選擇另一種選擇,但仍然感謝。 –