我有這個字符串:如何解析日期字符串爲dd/mm/yyyy?
3913-12-10T20:00:00+0000
如何將其更改爲DD/MM/YYYY格式?我的主要問題是我不認識這種模式。這實際上是11/11/2013,但我不知道如何提取它。
我有這個字符串:如何解析日期字符串爲dd/mm/yyyy?
3913-12-10T20:00:00+0000
如何將其更改爲DD/MM/YYYY格式?我的主要問題是我不認識這種模式。這實際上是11/11/2013,但我不知道如何提取它。
function dateString(d, i) {
var m_names = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
var curr_date = d.getDate() + i;
var sup = "";
if (curr_date == 1 || curr_date == 21 || curr_date ==31){
sup = "st";
}
else if (curr_date == 2 || curr_date == 22){
sup = "nd";
}
else if (curr_date == 3 || curr_date == 23){
sup = "rd";
}
else{
sup = "th";
}
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
var dateString = curr_date + sup + " " + m_names[curr_month] + " " + curr_year;
return dateString;
}
我不知道字符串上有任何'getDate()'函數。 –
這樣做只是這樣的:
var d= new Date("3913-12-10T20:00:00+0000");
var newDate = d.getDate() + '/' + d.getMonth() + '/' + d.getFullYear();
,或者您知道的任何其他日期格式功能。
除非'd.getFullYear'將返回3913當OP聲稱它應該是2013. –
當輸入是3913時,您將得到3913 ....這是正常的Json dateTime格式。 – Cracker0dks
沒有「Json dateTime格式」這樣的東西。另外,如果你閱讀這個問題,OP想要「轉換」到11/11/2013,因爲他聲稱應該是這樣。 –
您從中獲取此數據的服務器正在爲您提供不良數據。你應該向他們報告,以便他們能夠修復它。他們可能正在使用已棄用的API和/或手動構建此字符串(不正確)。
字符串是有效的ISO-8601,除了年份偏移+1900,月份+1和日期-1偏移。
因此,一種解決方案是將分析它原樣,然後偏移的時間目標。我個人喜歡用於處理JavaScript日期的moment.js庫。
var dateString = '3913-12-10T20:00:00+0000',
dateObj = moment(dateString);
dateObj.subtract({'y': 1900, 'M': 1}).add('d', 1);
console.log(dateObj.format('MM/DD/YYYY')); // 11/11/2013
或者如果你喜歡使用本地Date
對象:
var dateString = '3913-12-10T20:00:00+0000',
dateObj = new Date(dateString);
dateObj.setFullYear(dateObj.getFullYear() - 1900);
dateObj.setMonth(dateObj.getMonth() - 1);
dateObj.setDate(dateObj.getDate() + 1);
console.log(dateObj.toDateString()); // Mon Nov 11 2013
你從哪裏得到這個日期字符串? –
對我來說看起來不像11/11/2013。 –
'3913-12-10T20:00:00 + 0000'這些數據是如何生成的?如果你也分享這些代碼,我會很高興。 – Praveen