在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视频教程