2014-01-20 60 views
1

我有一个表头中有一个日期字符串。它作为数组的一部分返回,但我需要该数组中的日期为Date Object而不仅仅是一个字符串。将字符串转换为数组中的日期对象

我的表如下

DEMO

// [[20th Jan, 33], [21st Jan, 44], [22nd Jan, 5],[23rd Jan, 17]]

我用下面的JS得到这个数组

var arr = $.map($('#bookedTable th:not(:first)'), function(el,i) { 
    return [[$(el).text(), $('#bookedTable td:eq('+i+')').text()]] 
}); 

console.log(arr) 

问:我怎样才能返回字符串日期作为我的数组中的日期对象?

+1

今年哪一年? 1933年是33岁? 2033? 8331? –

+0

对于复杂的日期解析,我建议你看看moment.js。但我认为你问得太快了,你是否搜索“javascript日期解析”? –

+0

默认情况下它可以是今年的2014 – Redwall

回答

2

你需要运行像在阵列:)

function parseThisDate(date) { 
    dateParts = date.split(" "); 

    return new Date(dateParts[2], translateMonthToNum(dateParts[1]), dateParts[0]) 
} 

function translateMonthToNum(monthName) { 
    if (monthName == 'Jan,') return 0; 
    //todo: add all months you need 
} 
+1

''Jan''应该返回0,因为月份是基于零的。 – EoiFirst

+0

@EoiFirst -yep,你说得对。感谢您的评论 – pomaxa

0

您可以将字符串总是转换为日期

VAR指明MyDate =新的日期所有日期此功能(“2013/1/16" );

如果月数是数字,你可以清楚地得到数组中的“2013/1/16”。

click here欲了解更多JavaScript日期对象信息。

相关问题