我明白了:
function parseDate(s)
{
var d = s.split(/\D/);
return new Date(d[2], --d[1], d[0]);
使用这样的日历标记:
<p:calendar
id="testDate"
styleClass="calendar"
pattern="d MMM, yyyy"
maxlength="10"
onchange="$(this).val(parseDate($(this).val()))"
onfocus="$(this).mask('99/99/9999');"
>
<p:watermark for="testDate" value="mm/dd/yyyy" />
</p:calendar>
我需要手动解析从'dd / mm / yyyy'到'd,MMM yyyy'的日期,但是使用上面的函数,结果是例如“星期三,1995年8月9日00:00:00”因此,有人可以帮助我,并告诉我如何改变格式,以便生成的字符串 d,MMM yyyy ?
我知道这应该是一项非常基本的任务,但我仍然在学习如何更好地编写代码,因此非常感谢您的所有帮助和解释!
答案 0 :(得分:1)
看看momentjs,您可以使用它来解析日期并将其格式化为您想要的任何格式。
答案 1 :(得分:0)
懒惰方法:使用.toString()
function parseMyDate(s){
var dateParts = s.split("/");
var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);
var dateStrParts = date.toString().split(" ");
return (date.getDate() + ", " + dateStrParts[1] + " " + dateStrParts[3]);
}
console.log(parseMyDate("09/06/2014"));