- 获取本地时间戳
//常规
var timesTamp=new Date().getTime();
//简洁
var timesTamp=+new Date();
//一元运算符的隐式转换:+new Date() 相当于 ToNumber(new Date())
- 时间戳转换为日期
//timesTamp example:1523358325476
var nowDate = new Date(timesTamp) //Tue Apr 10 2018 19:05:25 GMT+0800 (中国标准时间)
var nowDate = new Date(timesTamp).toLocaleString() //2018/4/10 下午7:05:25
- 日期转换为时间戳
//nowDate example:Tue Apr 10 2018 19:05:25 GMT+0800 (中国标准时间)
var transTamp = Date.parse(nowDate) //1523358325476
时间戳与日期转换封装
function TransDateToTamp(obj,str="yy:mm:dd"){//时间戳||字符串 数据格式
switch(typeof obj){
case 'string':
return Date.parse(obj);
case 'object':
return +obj;//对象 new Date()
case 'number':
let newDate = new Date(obj);
switch(str){
case "yy:mm:dd":return newDate.toLocaleDateString();
case "hh:mm:ss":return newDate.toLocaleTimeString();
case "yy:mm:dd hh:mm:ss":return newDate.toLocaleString();
}
default:
throw new Error("Params is wrong")
}
}
console.log(TransDateToTamp('2018/01/09'))//1515427200000
console.log(TransDateToTamp(1514740140000))//2018/1/1
//看看拉倒
重写
/*example:
* {
* tamp:1514740140000,
* form:'yy:mm:dd',
* day:'2018-01-01',
* cbform:'s'/'ms'
* }
* */
function TransDateToTamp(obj){
if(obj instanceof Date){ //如果是日期对象
return +obj;
}
else if(obj.tamp){ //如果是时间戳
let newDate = new Date(obj.tamp);
switch(obj.form?obj.form: "yy:mm:dd"){
case "yy:mm:dd":return newDate.toLocaleDateString();
case "hh:mm:ss":return newDate.toLocaleTimeString();
case "yy:mm:dd hh:mm:ss":return newDate.toLocaleString();
default:throw new Error("Params is wrong");
}
}
else if(obj.day){ //如果是字符串
let newStr = obj.day.replace(/([-:;*,.,。]|[\u4e00-\u9fa5])/g,'/');//所有日期分隔符号(汉字)转化为'/'
if(obj.cbfrom?obj.cbfrom:'ms'){
return Date.parse(newStr)/1000
}else{
return Date.parse(newStr);
}
}else{
throw new Error("Params is wrong")
}
}
网友评论