js中new Date()只取日期或者只取时间值以及在原有日期向后推10天

var a = new Date(2017, 8, 26, 23, 55, 32);

var b = new Date();

if (比較a和b的年月日相同時) {

console.log('日期相等');

}

首先分析题目,a的值应该是date类型的日期:

a的值

b的值也是:

b的值

而ab的值都带有时间,非题目要求,只比较日期,取date日期时间中的日期 或时间方法为

取date的日期 a.toLocaleDateString(),结果如下:

a.toLocaleDateString()的值

那同样,今天为2017年九月26日 b.toLocaleDateString()结果也是"2017/9/26"

可能大家认为这样就可以得到if语句的值,可以直接比较了,但是因为是string格式的日期,比较的时候,会出现如下情况:

字符串日期比较的错误案列

综上,比较日期是不可以用字符串进行比较的!!必须转化成日期格式进行比较!

所以,我们可以将上面 a.toLocaleDateString()再转为Date类型,,new Date(a.toLocaleDateString())

new Date(b.toLocaleDateString()) 此时

a取日期再转化成日期格式的值(等于将a、b时间统一重置为0)

这样就可以比较日期了,但是最重要的一步!!!----->>>>

日期的比较一定要通过 getTime()比较

即,if里面应该是 :

if((new Date(a.toLocaleDateString)).getTime()===(new Date(b.toLocaleDateString)).getTime()){

          console.log('smile');

}

此外,赠送一方法 :

如果想给 '2017/9/26'往后推迟10天 变成 '2017/10/6'


给日期a='2017/9/26'向后推十天

好啦,就到这里了,如有日期方面的疑问可以联系我qq,191633179,本人初学者,可以一起探讨一起学习。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,524评论 0 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,947评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • var regexEnum = { intege : "^-?[1-9]\\d*$", // 整数 intege1...
    a_foo阅读 1,235评论 0 4
  • 作为一位Android开发者,想必大家都应该遇到过由于Android设备碎片化带来的屏幕适配苦恼。经过工作实践和积...
    踏雪鸿雁阅读 937评论 0 0