Datetime 给出错误结果的日期比较
在当前任务中,我必须将给定日期与当前日期进行比较。我必须在Knockout JS中添加这个日期比较模块。给定的日期格式如下所示Datetime 给出错误结果的日期比较,datetime,knockout.js,compare,Datetime,Knockout.js,Compare,在当前任务中,我必须将给定日期与当前日期进行比较。我必须在Knockout JS中添加这个日期比较模块。给定的日期格式如下所示 User.StartingDate() Mon Jun 08 2015 00:00:00 GMT+0530 (India Standard Time) __proto__: Invalid Date 那么我现在用的日期, var dateToday = new Date(); 这也导致了以下格式 Tue May 31 2016 16:06:12 GMT+0
User.StartingDate()
Mon Jun 08 2015 00:00:00 GMT+0530 (India Standard Time)
__proto__: Invalid Date
那么我现在用的日期,
var dateToday = new Date();
这也导致了以下格式
Tue May 31 2016 16:06:12 GMT+0530 (India Standard Time)
__proto__: Invalid Date
但这两件事导致了两种不同的时间符号。我只想比较一下给定的日期和当前的日期,所以我试着
User.StartingDate().toLocaleDateString()
"06-08-2015"
dateToday.toLocaleDateString()
"05-31-2016"
但是在比较的时候,
User.StartingDate().toLocaleDateString() < dateToday.toLocaleDateString()
// result is FALSE
// but 06-08-2015 < 05-31-2016 is TRUE
User.StartingDate().toLocaleDateString()
我挣扎了一整天,但不明白为什么事情会出错
任何建议都会有帮助 对于IE9和更高版本+现代浏览器,您可以使用。由于这种字符串的结构,很容易进行
==
,
和
比较。/p
p对于低于IE8的,可以使用polyfill。前面提到的MDN链接有一个例子。/p
如果你必须做很多日期/时间的事情,或者你必须支持时区等等,我建议合并。/p
pDemo:/p
pdiv class=“snippet”data lang=“js”data hide=“false”data console=“false”
div class=“代码片段”
pre class=“snippet code js lang js prettyprint override”code函数ViewModel(){
var self=这个;
self.date1txt=ko.可观测(“2015年6月8日星期一00:00:00 GMT+0530(印度标准时间)”;
self.date2text=ko.可观测(“2015年6月8日星期一00:00:00 GMT+0530(印度标准时间)”;
self.date1=ko.computed(()=>新日期(self.date1Text());
self.date2=ko.computed(()=>newdate(self.date2text());
self.isgreer=ko.computed(()=>self.date1().toISOString()>self.date2().toISOString());
self.isSmaller=ko.computed(()=>self.date1().toISOString()pre{背景:白色;填充:10px;颜色:#333;字体:11px控制台;边框:1px实心#ddd;}
以txt格式编辑date1输入:
以txt格式编辑date2输入:
日期1日期2
日期1日期2
日期1==日期2
调试信息:
我在IEIE 11.0.9600.18053版中执行此操作。此日期比较应在我的应用程序中的所有web浏览器中支持。抱歉,但该注释对我来说没有什么意义。你能具体说明我的回答中关于浏览器兼容性的哪些部分不清楚吗?也许还有“我的应用程序中的所有web浏览器”的含义?您尚未在问题中指定浏览器及其版本的任何内容。。。