在javascript中更改日期格式(jquery)
我有两个约会:在javascript中更改日期格式(jquery),javascript,jquery,Javascript,Jquery,我有两个约会: var first = '21-11-2012'; var second = '03-11-2012'; 以下哪种格式最好: var first = '2012-11-21'; var second = '2012-11-03'; 我应该使用jQuery还是简单地使用JavaScript?您不需要jQuery,只需像这样使用JavaScript: first=first.split("-").reverse().join("-") second=second.split("-
var first = '21-11-2012';
var second = '03-11-2012';
以下哪种格式最好:
var first = '2012-11-21';
var second = '2012-11-03';
我应该使用jQuery还是简单地使用JavaScript?您不需要jQuery,只需像这样使用JavaScript:
first=first.split("-").reverse().join("-")
second=second.split("-").reverse().join("-")
function formatDate(d){
return d.split('-').reverse().join('-');
}
不过,如果你想使用更多的可重用代码,考虑使用.< /p>
不需要考虑基本字符串操作的jQuery:这是远远不够的,我想这就是为什么jQuery实际上没有等效的方法。
其他答案中的regex.replace或split/reverse/join概念都可以在一行中完成。我建议您熟悉我链接到的MDN页面上的方法,但同时:first = first.replace(/^(\d\d)-(\d\d)-(\d\d\d\d)$/,"$3-$2-$1");
第二个相同-如果需要,封装在函数中
这将使用正则表达式匹配日期的不同部分并将其反转
更新-根据要求,对我使用的正则表达式进行解释:
^ // match beginning of string
(\d\d) // match two digits, and capture them for use
// in replacement expression as $1
- // match the literal hyphen character
(\d\d) // match two digits, and capture for use as $2
- // match the literal hyphen character
(\d\d\d\d) // match four digits, and capture for use as $3
$ // match end of string
因为模式从字符串的开头到结尾都匹配,所以整个字符串将被替换。括号中的表达式部分被捕获,可以被称为$1、$2等。如果在替换字符串中使用,则按照它们在表达式中出现的顺序进行编号,因此$3-$2-$1反转这些捕获片段的顺序,并在它们之间放置连字符。如果输入字符串不符合该格式,则正则表达式将不匹配,并且不会进行替换。这里有一个问题可以回答这个问题。[ [1]:通过删除冗余部分来简化它不会有什么坏处=。如此简洁完美的方式:+1您可以添加几行解释您的正则表达式吗?这肯定会帮助像我这样的人并捕获供以后使用?@Jashwant-是的。但完整的解释远远超出了这个问题的范围,所以我建议您搜索一些正则表达式教程als可能是这样的:。如果您想使用一些示例,可以使用一些。尽管大多数正则表达式语法在不同语言中很常见,但列出了适用于JS的特定语法。