Date的Invalid Date

简介: Date的Invalid Date

使用Date()构造日期对象,如果传入非日期格式或者错误的日期格式的字符串,仍然能构造出Date对象。

var date = new Date("dream");
console.log('date:', date);  //Invalid Date
console.log('date:', typeof date);  //“object”
console.log('date:', date instanceof Date);  //true
 
 
var date2 = new Date("2019-053");
console.log('date2:', date2);  //Invalid Date
console.log('date2:', typeof date2);  //“object”
console.log('date2:', date2 instanceof Date);  //true

示例里使用非日期格式"dream"(错误日期格式“2019-053”)构造Date对象

直接输出date,结果为Invalid Date

使用typeof判断date的类型,得到结果为“object”

使用instanceof检测date是否为Date类型,结果为true。

使用Date的getTime()方法,Invalid Date对象返回的是一个NaN,可以利用这点来检查Date对象是否为Invalid Date。

function isValidDate(date) {
  return date instanceof Date && !isNaN(date.getTime())
}
 
// 也可以
//  function isValidDate(date) {
//    return date instanceof Date && !isNaN(date.valueOf())
//  }
 
var date = new Date("dream");
console.log('结果',isValidDate(date)); //false
 
var date2 = new Date("2019-053");
console.log('结果',isValidDate(date2)); //false
 
var date3 = new Date("2019-05-09");
console.log('结果',isValidDate(date3)); //true


目录
相关文章
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo:微服务通信的高效解决方案
【10月更文挑战第15天】随着信息技术的发展,微服务架构成为企业应用开发的主流。Spring Cloud Dubbo结合了Dubbo的高性能RPC和Spring Cloud的生态系统,提供高效、稳定的微服务通信解决方案。它支持多种通信协议,具备服务注册与发现、负载均衡及容错机制,简化了服务调用的复杂性,使开发者能更专注于业务逻辑的实现。
233 2
|
前端开发
前端常用方法防抖(debounce)和节流(throttle)的示例演示及应用场景说明
前端常用方法防抖(debounce)和节流(throttle)的示例演示及应用场景说明
500 0
|
11月前
|
弹性计算 移动开发 安全
阿里云域名注册、续费收费标准价格表及最新优惠口令获取及使用教程参考
阿里云域名注册和续费收费标准在9月份随着全球域名价格的上涨,域名收费标准也做了调整,目前阿里云的.com英文域名的注册价格为83元,续费收费标准为90元,为了让更多用户在注册和续费时价格能更加实惠,阿里云推出了域名优惠口令活动,域名优惠口令适合在域名注册和续费时使用,使用优惠口令通常可以使注册和续费价格减免几元到十几元不等,例如使用优惠口令续费.com域名就可减少5元。本文为大家展示目前阿里云域名注册和续费的最新收费标准以及如何领取和使用域名优惠口令的相关教程,以供参考。
2514 11
|
城市大脑 监控 搜索推荐
云上智能城市大脑:构建未来智慧城市的核心引擎
更加安全可靠:随着网络安全和数据保护问题的日益突出,云上智能城市大脑将加强安全防护和数据加密技术,确保城市数据和系统的安全可靠运行。 更加开放共享:未来,云上智能城市大脑将更加注重数据的开放共享和跨领域
673 0
|
SQL 关系型数据库 MySQL
MySQL基础:事务
本文详细介绍了数据库事务的概念及操作,包括事务的定义、开启、提交与回滚。事务作为一组不可分割的操作集合,确保了数据的一致性和完整性。文章还探讨了事务的四大特性(原子性、一致性、隔离性、持久性),并分析了并发事务可能引发的问题及其解决方案,如脏读、不可重复读和幻读。最后,详细讲解了不同事务隔离级别的特点和应用场景。
509 4
MySQL基础:事务
|
SQL 存储 分布式计算
Kylin使用心得:从入门到进阶的探索之旅
【5月更文挑战第2天】Apache Kylin是开源大数据分析平台,提供亚秒级OLAP查询。本文深入解析Kylin的工作原理,包括预计算模型Cube、构建过程和查询引擎。常见问题涉及Cube设计、查询性能和资源管理,解决方案涵盖合理设计、性能监控和测试验证。文中还分享了Cube创建的JSON示例,并探讨了Cube构建优化、查询优化、与其他组件集成、监控维护及生产环境问题解决。通过学习和实践,读者能有效提升数据洞察力和决策效率。
716 5
|
消息中间件 负载均衡 Kafka
MQ消息路由大揭秘!从菜鸟到高手,一文带你玩转消息传递的‘高速公路’,轻松实现订单秒级响应!
【8月更文挑战第24天】在现代分布式系统中,消息队列(MQ)作为系统间解耦的核心工具,支持异步处理、负载均衡及高可用性。消息路由是MQ中的关键环节,决定消息从生产者到消费者的路径。主流MQ产品如RabbitMQ、Kafka等采用相似的路由机制,涉及交换器、队列、路由键等概念。常见的路由模式包括直接交换、主题交换及发布/订阅模式。以RabbitMQ为例,通过直接交换模式,可以根据订单类型(如“普通订单”、“紧急订单”)将消息路由至相应的处理队列。这一过程展示了MQ系统如何基于路由键和队列绑定关系实现消息的有效传递。
372 2
|
人工智能 开发工具 计算机视觉
AI计算机视觉笔记三十:yolov8_obb旋转框训练
本文介绍了如何使用AUTODL环境搭建YOLOv8-obb的训练流程。首先创建虚拟环境并激活,然后通过指定清华源安装ultralytics库。接着下载YOLOv8源码,并使用指定命令开始训练,过程中可能会下载yolov8n.pt文件。训练完成后,可使用相应命令进行预测测试。
1120 4
|
存储 关系型数据库 MySQL
深入探索MySQL的虚拟列:发展、原理与应用
深入探索MySQL的虚拟列:发展、原理与应用
|
机器学习/深度学习 边缘计算 大数据
Scikit-Learn中的模型持久化与部署
【4月更文挑战第17天】本文介绍了Scikit-Learn中模型的持久化和部署方法。使用`joblib`模块保存和加载模型,以实现模型的序列化。模型部署包括在线(通过Flask、Django或云服务如AWS SageMaker)、批量(脚本或ETL工具)和嵌入式(ONNX、TensorRT)部署。部署时需考虑性能、可伸缩性、安全性和维护等因素,确保模型在实际应用中的有效性。