如何在Javascript中比较日期时间
How to compare datetime in Javascript?
给定
var fromDatetime="2014年10月21日08:00:00"
var toDatetime="10/21/2014 07:59:59";
目标
需要比较这两个给定的日期时间,以检查这是否是有效的日期时间输入。
我想我可以用这个解决方案
var fromDatetime=新日期("2014年10月21日08:00:00")
var toDatetime=新日期("10/21/2014 07:59:59");
然后比较每个片段
从Datetime.getFullYear()到Datetime.geFullYear),
从Datetime.getMonth()到Datetime.get-Month(,
依此类推,直到我得到一个不相等的比较,然后返回。
我的问题是..在比较Javascript中的日期时间时,这是最好的情况吗
除此之外,任何建议的解决方案都将不胜感激。提前谢谢。
如果你只需要知道一个日期是在另一个日期之前还是之后,你可以使用普通的比较运算符:
if (dateA > dateB) { ... }
(请注意,要实例化Date对象,它是new Date(myDateString)
,而不是示例中的new date()
。)
这是因为Date对象将被强制为基础epoch值,这些值只是表示自1970年1月1日GMT以来经过的毫秒数的数字。(关系比较使用操作数的@@toPrimitive
或valueOf()
函数(如果可用)的结果。)因此,这将对毫秒敏感,这可能是所需的,也可能不是所需的。您可以通过确保输入只包括小时/分钟/任何值来控制比较的粒度,也可以像您在问题中描述的那样进行逐段比较。
对于更高级的日期比较操作,我强烈建议使用Moment.js这样的库,因为在本机中没有太多可操作的内容。例如,Moment提供了类似的方法
moment(myDateString).startOf('hour')
如果你只需要在特定的特异性水平上进行比较,这会非常有帮助。但是,没有一个日期时间库是非常轻量级的,所以只有当您正在编写服务器端代码或希望广泛依赖它们时,才能使用它们。如果你只需要做一次比较,那么推出自己的解决方案会更明智。
- 如何在moment.js中只比较日期
- 比较日期时,全日历中的 DayClick 事件警报
- 如何在拉拉维尔中以不同的方式比较日期和时间
- 用于比较日期字段的Javascript
- 如何在javascript中比较日期
- JMeter BSF断言-比较日期变量
- 比较日期并创建计数 javascript
- 如何使用控制器中的过滤器比较日期.js
- 日期格式和比较日期
- JavaScript - 比较日期
- 如何在javascript中比较日期时间
- 续集:如何比较日期
- 如何比较日期格式
- 如何在 JavaScript 中比较日期
- 在javascript中比较日期不起作用
- 可以't使用jQuery UI比较日期's的日期选择器
- 如何在Javascript中比较日期时间
- 未捕获的类型错误:无法使用'在'操作员搜索'7'当我试着比较日期的时候
- 无法使用Angular.js比较日期
- 比较日期格式为dd MMM yyyy的验证