这一周工作主要是写 js,遇到使用 JS 加减时间的问题,觉得需要总结记录一下。为了下次遇到这种问题时查阅方便,也为了更好的理解记忆。
var date = new Date(2018,0,7)// 新建一个时间,用于表示 2018 年 1 月 7 日。 |
为什么用 0 表示 1 呢,这是一个 js 的设计缺陷,0-11 表示 1-12 月。
日期相加
如果 date 要使用多次,要将这个日期赋给一个 temp 变量,操作 temp 完成计算。
var temp = new Date(date); |
例 1:加一个具体时间 -> x 年 y 月 z 日
temp.setFullYear(temp.getFullYear() + x);// 注意是 FullYear |
$("#year").val(temp.getFullYear()); |
注意,一定顺序是 setFullYear()->setMonth()->setDate,不然时间相加会不准确。
日期相减
temp.getTime(); //1515254400000, 以 Number 形式表示的时间戳 |
计算 date1 和 date2 之间的天数差值
var timesDiff = Math.abs(date1.getTime() - date2.getTime); |
但是如果要对天数进增减,那只能先将在 setDate() 中增减,因为你在获取之后增减可能出现 0-31 以外的数
关于 Date 的其他属性,可以查看 廖雪峰的 JS 教程