在html中我使用ext.net datefield
<ext:DateField runat="server" ID = "date" Format="Y-m-d hh:mm:ss" SubmitFormat="Y-m-d H:i:s" MarginSpec="0 0 0 60" FieldLabel="Gate In Date/Time" AllowBlank="false" IndicatorText="*" IndicatorCls="red-text"/>
当它查看它显示正确的日期但时间总是12:00:00。在javascript中 我是这样做的
var iframeID = $('iframe').attr('id');
var myDate = lazyMethod_get(iframeID, "formdetail", "date")
var today = new Date().toISOString().slice(0, 10);
alert(myDate);
alert(today);
if (myDate > today) {
alert("Entered date is greater than today's date ");
}
else {
alert("Entered date is less than today's date ");
}}
验证始终提醒输入的日期少于今天的日期。我只是想验证日期和时间,如果用户插入例如2016-02-03日期错误并获得当前日期。
谢谢。
答案 0 :(得分:1)
以微秒为单位的时间。
if (!Date.now) {
Date.now = function now() {
return new Date().getTime();
};
}
进行计算后进行格式化。
你的lazyMethod_get()工作是什么。它是返回一个字符串,还是一个Date对象。
答案 1 :(得分:0)
当你这样做时:
new Date().toISOString().slice(0, 10);
toISOString生成UTC日期(即时区偏移为00:00),因此它可能与主机系统的日期不同。
E.g。对于时区+10:00的用户,当它是5月25日的09:30时,上面将返回5月24日的日期字符串。同样,对于偏移量在格林威治以西的系统,日期将在一天之后的晚上时间(例如,5月25日20:30在时区-04:00将是5月26日00:30 00:30)。 / p>
答案 2 :(得分:0)
首先 - Ext.NET DateField只返回一个日期(MM-dd-yyyy)而不是时间。时间总是默认为12:00:00。
我会比较每个的年,日和月。
的javascript:
var isToday = function (field) {
var fieldDate = field.getValue();
var today = new Date()
if ((today.getFullYear() + today.getMonth() + today.getDate())
== (fieldDate.getFullYear() + fieldDate.getMonth() + fieldDate.getDate())) {
return true;
}
else {
return false;
}
}
标记:
<ext:DateField ID="DateField1" runat="server">
<Listeners>
<Select Handler="alert( isToday(#{DateField1}) )" />
</Listeners>
</ext:DateField>