我需要允许日期采用以下格式:dd/mmm/yyyy此处的代码。 当我从日期选择器中选择数据时,显示的值为“dd MMM yyyy”格式。无法允许日期为dd/mmm/yyyy
但是,如果我在手动输入日期,例如,如果我输入“02032014”,它只是按原样阅读,不会将其更改为“2014年3月2日”。
的Javascript:
function CompareDates(id)
{
var monName = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sept", "Oct", "Nov", "Dec");
var d = new Date(id);
var curr_date = d.getDate();
var curr_month = d.getMonth(monName);
var curr_year = d.getFullYear();
return d.format(curr_date + " " + curr_month + " " + curr_year);
}
和我的日历标签:
<td>
<p:calendar
value="#{pc_Rpt2202.asat_date}"
id="rp2202_input_as_at"
styleClass="calendar"
maxlength="10"
pattern="dd MMM yyyy"
onchange="$(this).val(CompareDates($(this).val()))"
onfocus="$(this).mask('99/99/9999');"
>
<p:watermark for="rp2202_input_as_at" value="dd/MMM/yyyy" />
<f:convertDateTime pattern="dd MMM yyyy" />
</p:calendar>
</td>
我可以知道我可以通过允许数据验证工作解决呢?
这里有我想要的一个例子:http://www.flyscoot.com/index.php/en/?gclid=CLvPseXn_74CFQyTjgodz5sAEQ
后,我在日期手动输入,它会自动更改为DD MMMM yyyy格式而不是从日期选择器中选择的。
要将字符串更改为日期对象,您必须解析字符串,因此需要指定输入格式,以便知道如何解析它。一旦知道,解析就很简单。不要试图使用* Date.parse *,它会失败。 – RobG
@RobG不好意思,但你能告诉我一个例子吗?所以对不起,因为我真的很虚弱在这.. – isg
这里是一个很好的答案这个问题.http://stackoverflow.com/questions/492994/compare-dates-with-javascript –