jquery/javascript将日期字符串转换为日期
我有一个日期字符串“2010年2月28日,星期日”,我想将其转换为格式为@MM/DD/YYYY的js日期对象,但不知道如何转换。有什么建议吗 我会抓取,否则您需要使用自己的格式化功能jquery/javascript将日期字符串转换为日期,javascript,jquery,string,date,object,Javascript,Jquery,String,Date,Object,我有一个日期字符串“2010年2月28日,星期日”,我想将其转换为格式为@MM/DD/YYYY的js日期对象,但不知道如何转换。有什么建议吗 我会抓取,否则您需要使用自己的格式化功能 var stringDate = "Sunday, February 28, 2010"; var months = ["January", "February", "March"]; // You add the rest :-) var m = /(\w+) (\d+), (\d+)/.exec(stri
var stringDate = "Sunday, February 28, 2010";
var months = ["January", "February", "March"]; // You add the rest :-)
var m = /(\w+) (\d+), (\d+)/.exec(stringDate);
var date = new Date(+m[3], months.indexOf(m[1]), +m[2]);
数组上的indexOf
方法仅在较新的浏览器(即不支持IE)上受支持。您需要自己进行搜索,或者使用提供相同功能的多个库中的一个
此外,代码还缺少应添加的任何错误检查。(字符串与正则表达式不匹配、不存在月份等)如果使用jQuery运行,可以使用datepicker UI库的parseDate函数将字符串转换为日期:
var d = $.datepicker.parseDate("DD, MM dd, yy", "Sunday, February 28, 2010");
然后使用formatDate方法将其转换为所需的字符串格式
var datestrInNewFormat = $.datepicker.formatDate( "mm/dd/yy", d);
如果您没有使用jQuery运行,当然这可能不是最好的方案,因为您需要jQuery核心以及datepicker UI模块。。。最好按照上面SEGFULT的建议使用date.js
HTH如果您只需要一次,那么加载插件就太过分了 对于日期“dd/mm/yyyy”,这对我来说很有用:
new Date(d.date.substring(6, 10),d.date.substring(3, 5)-1,d.date.substring(0, 2));
只需颠倒mm/dd/yyyy的月份和日期,语法是newdate(y,m,d)
我使用javascript日期函数toLocaleDateString获取
var Today = new Date();
var r = Today.toLocaleDateString();
r的结果将是
11/29/2016
更多信息,请访问:
对任何日期操作使用矩js
console.log(瞬间(“2010年2月28日星期日”).format(“MM/DD/YYYY”)代码>
+1获取使用jquery的答案。最接近这个问题的答案。如果您使用的是jquery,则无需添加另一个库。datepicker不是jQuery的一部分。它是jQueryUI的一部分。如果您只有核心库,那么您实际上是在添加另一个库。如果您没有或不打算使用jQuery UI,那么我会看看矩.js。@科林,这就是我解释的“您需要jQuery核心以及datepicker UI模块”的意思。@isherwood我不同意。我认为这是一个相当模糊的句子。我认为这需要jQuery核心和它的一些子模块组件。还不清楚是否还需要包含jqueryui。事实上,有很多JS库都有“日期选择器UI模块”。因此,假设您确实推断要包含另一个库,那么仍然不清楚jQuery UI是否是要获取的库。应该注意的是,date.JS在更改日期原型时破坏了jQuery UI日期选择器。jQuery core说他们不会修复与此相关的bug。也许split()更快,您可以编写更短的代码:)