在C语言等语言,正常获取当前时间的前几天时间,我们往往要考虑”今年是否是润年? 月份是否是2月?”等很多情况的逻辑判断。而在javascript中这些逻辑都可以省去,下面来介绍实现方法。

一、首先介绍几个函数

getTime():返回 1970 年 1 月 1 日至今的毫秒数。
setTime():以毫秒设置 Date 对象。
getDate():从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getMonth():从 Date 对象返回月份 (0 ~ 11)。
getFullYear():从 Date 对象以四位数字返回年份。

二、实现

思路:首先通过getTime()来获取(1970 年 1 月 1 日至今的)毫秒数;然后我们在用获取的毫秒数减去一天(或几天)的毫秒数,再将这个结果交于setTime()处理,再用getDate()、getMonth()、getFullYear()等方法获取日、月、年即可。(这里我们获取的当前时间的前两天时间)

代码:

var now = new Date();var TwoDaysAgo = new Date();//获取当前时间的毫秒数var nowMilliSeconds = now.getTime();//用获取毫秒数 减去两天的毫秒数 赋值给TwoDaysAgo对象(一天有86400000毫秒)TwoDaysAgo.setTime(nowMilliSeconds-(2*86400000));//通过赋值后的TwoDaysAgo对象来得到 两天前的 年月日。这里我们将日期格式化为20180301的样子。//格式化日,如果小于9,前面补0  var day = ("0" + TwoDaysAgo.getDate()).slice(-2);  
//格式化月,如果小于9,前面补0  var month = ("0" + (TwoDaysAgo.getMonth() + 1)).slice(-2);  
//拼装完整日期格式  var getToday = TwoDaysAgo.getFullYear()+(month)+(day);
alert(getToday);  //20180227
登录后复制

更多相关教程请访问 JavaScript视频教程

09-17 16:30