我想解析日期
var newDateTime = new Date(Date.parse($("#SelctedCalendarDay").val()));
$("#SelctedCalendarDay").val()
值为14-okt-2014 in string。
当日期是2014年10月14日时,它会正确解析它。
那么如何解析这个日期14-okt-2014?
答案 0 :(得分:1)
我不确定您使用的语言(荷兰语?)因此我会使用英语,您可以轻松替换您喜欢的任何语言。您可以使用以下方法解析日期字符串,如2014年10月14日:
function parseDMMMY(s) {
// Split on . - or / characters
var b = s.split(/[-.\/]/);
// Months in English, change to whatever language suits
var months = {jan:0, feb:1, mar:2, apr:3, may:4, jun:5,
jul:6, aug:7, sep:8, oct:9, nov:10, dec:11};
// Create a date object
return new Date(b[2], months[b[1].toLowerCase()], b[0]);
}
console.log(parseDMMMY('14-Oct-2014')); // Tue Oct 14 2014 00:00:00
请注意,上面将创建一个本地日期对象。它没有对值进行任何验证,所以如果你给它一个类似2014年6月31日的字符串,你将获得2014年7月1日的Date对象。添加验证很容易(需要多行代码),但如果您知道只有有效的字符串将传递给函数,则可能不需要。
答案 1 :(得分:0)
日期时间字符串可以是ISO 8601格式。例如, “2011-10-10”(仅限日期)或“2011-10-10T14:48:00”(日期和时间)即可 被传递和解析。 UTC时区用于解释参数 ISO 8601格式,不包含时区信息(注意 ECMAScript ed 6草案规定了没有的日期时间字符串 时区将被视为本地,而不是UTC)。
在我看来,原生Date.parse不会转换与特定区域设置匹配的日期字符串。特定浏览器之间似乎也存在一些细微差别。
也许您想使用像moment.js这样的库?
或者您可能希望将一些PHP strtotime连接到您的JS。