Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将字符串转换为数组中的日期对象_Javascript_Jquery_Html - Fatal编程技术网

Javascript 将字符串转换为数组中的日期对象

Javascript 将字符串转换为数组中的日期对象,javascript,jquery,html,Javascript,Jquery,Html,我有一个表头有日期字符串的表。它作为数组的一部分返回,但我需要数组中的日期是日期对象,而不仅仅是字符串 我的桌子如下 /[[33年1月20日],[44年1月21日],[5年1月22日],[17年1月23日] 我使用下面的JS来获取这个数组 var arr = $.map($('#bookedTable th:not(:first)'), function(el,i) { return [[$(el).text(), $('#bookedTable td:eq('+i+')').text

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

我的桌子如下

/[[33年1月20日],[44年1月21日],[5年1月22日],[17年1月23日]

我使用下面的JS来获取这个数组

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

console.log(arr)

问题:如何将字符串日期作为数组中的日期对象返回?

您需要在数组中的所有日期上运行类似于此的函数:)


您始终可以将字符串转换为日期

var myDate=新日期(“2013/1/16”)

如果月份是数字,您可以从数组中清楚地获得“2013/1/16”


有关JavaScript中日期对象的详细信息。

年份在哪里?1933年是33岁吗?2033 ? 8331?对于复杂的日期解析,我建议您查看moment.js。但我觉得你问得有点太快了,你搜索“javascript日期解析”了吗?默认情况下,可能是2014年,所以基本上你需要将[2013年1月20日]转换为日期对象,对吗?AJ没错,2013年1月20日转换为日期对象。所以基本上所有的字符串日期都在表中,并在数组中返回。33保留为字符串。
'Jan',
应返回0,因为月份是以零为基础的。
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
}