【问题标题】:How to validate timestamp in js如何在js中验证时间戳
【发布时间】:2016-08-05 14:41:13
【问题描述】:

我需要检查 fox 示例 2117-09-15 00:00:41.0。
我看到了类似的主题,但这个 var valid = (new Date(timestamp)).getTime() > 0;don't work.

【问题讨论】:

  • 你能给我们更多的细节和一些代码吗?
  • 我有一个 Timestamp createdDate = (Timestamp)employeeObject[4]; 类型的变量,在维护表单的同时我需要检查创建日期的值,否则我会收到错误 HTTP Status 500
  • Rahul Tripathi,2117-09-15 00:00:41.0.wrong,时间戳最大值 1970 年
  • @Александр:- 阅读specs: ECMAScript Number values can represent all integers from –9,007,199,254,740,992 to 9,007,199,254,740,992; this range suffices to measure times to millisecond precision for any instant that is within approximately 285,616 years, either forward or backward, from 01 January, 1970 UTC.

标签: javascript timestamp


【解决方案1】:

如果你想检查一个日期在 MySQl 中是否有效,那么你可以检查它是否在某些日期之间(mySql 时间戳的最小值和最大值):

function isValid(dateString) {
    var minDate = new Date('1970-01-01 00:00:01');
    var maxDate = new Date('2038-01-19 03:14:07');
    var date = new Date(dateString);
    return date > minDate && date < maxDate;
}

这里有一个小提琴供你测试:https://jsfiddle.net/x5hmyyrz/3/

【讨论】:

  • 另外,也许不是所有的浏览器都支持日期直接比较。在这种情况下使用 date.getTime() > minDate.getTime() && date.getTime()
【解决方案2】:

在这里看到:Checking if a date is valid in javascript,也许你可以使用:

var date= new Date(timestamp)
valid = (date instanceof Date && !isNaN(date.valueOf()));

【讨论】:

    猜你喜欢
    • 2011-08-19
    • 2012-09-07
    • 2015-11-04
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2022-01-08
    • 2021-12-01
    • 2016-05-29
    相关资源
    最近更新 更多