一、时间戳的意思
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总 秒数。
二、1. js获取当前时间戳的方法:
var timestamp = Date.parse(new Date());//不推荐使用,因为毫秒级别的数值被转化为000 ,不准确!
var timestamp = (new Date()).valueOf();//获取当前毫秒的时间戳,准确!
var timestamp = new Date() . get Time();//返回数值单位是毫秒;
2.js中获取指定时间戳的方法
var timestamp = (new Date(" 2018/06/22 08:00:20")).getTime()/1000;
三 、时间转换成时间戳
var timestamp= new Date(1472025255555) // 直接用new date(要转换的时间戳);
其中注意时间戳一定要是int型,否则转换失败。parseInt()一下最好。
四、格式化日期
开发中长用到日期,但你new Date()或得到的无法直接用来显示给用户,所以一般我们会写一个格式化日期的方法
如下:
//格式化日期
function dateFormat(thisDate, fmt) { var o = { "M+": thisDate.getMonth() + 1, "d+": thisDate.getDate(), "h+": thisDate.getHours(), "m+": thisDate.getMinutes(), "s+": thisDate.getSeconds(), "q+": Math.floor((thisDate.getMonth() + 3) / 3), "S": thisDate.getMilliseconds() }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (thisDate.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; }
var Date=new Date();
console.log(dateFormat(Date, "yyyy-MM-dd hh:mm:ss"))//调用
五、根据日期来计算星期
1.计算当前日期的星期一与星期天
var Date=new Date();
var selectTime = Date.getTime();//获取时间戳
var selectDay = Date.getDay();//获取星期 var oneDayLong = 24 * 3600 * 1000;//定义一天有多少毫秒 var MondayTime = selectTime - (selectDay - 1) * oneDayLong;
var monday = new Date(MondayTime)//时间戳再转回时间
var SundayTime = selectTime - (selectDay - 7) * oneDayLong;
var sundayTime = new Date(SundayTime)
console.log(monday)
console.log(sundayTime)
2.计算某一日期是星期几
当我们知道某一'yyyy-mm-dd'日期时便可以计算出当前是星期几,公式如下:
基姆拉尔森计算公式
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
在公式中d表示日期中的日数,m表示月份数,y表示年数。(其中mod意思是取余计算,js用的是%)