js时间戳的转化,js⽇期转成标准字符串,⽇期格式的相互转化
1.时间的获取
var myDate = new Date();
var LocaleTimeString(); //获取当前时间
2.获取时间戳
JS获取当前时间戳的⽅法-JavaScript 获取当前毫秒时间戳有以下三种⽅法:
var timestamp =Date.parse(new Date());    结果:1280977330000      //不推荐; 毫秒改成了000显⽰
var timestamp =(new Date()).valueOf();      结果:1280977330748      //推荐;
var timestamp=new Date().getTime();        结果:1280977330748        //推荐;
注意:js中单独调⽤new Date(); 显⽰这种格式 Mar 31 10:10:43 UTC+0800 2012
  但是⽤new Date() 参与计算会⾃动转换为从1970.1.1开始的毫秒数
3.将字符串形式的⽇期转换成⽇期对象展⽰
var strTime="2019-02-01";    //字符串⽇期格式
var date= new Date(Date.place(/-/g,  "/")));      //转换成Data();
new Date() ;    //参数可以为整数; 也可以为字符串; 但格式必须正确
new Date(2019,1,1);      //正确
new Date("2019/1/1");    //正确
new Date("2019-1-1");    //正确
new Date( year, month, date, hrs, min, sec)  按给定的参数创建⼀⽇期对象
  参数说明:
  year的值为:需设定的年份-1900。例如需设定的年份是1997则year的值应为97,即1997-1900的结果。所以Date中可设定的年份最⼩为1900;  month的值域为0~11,0代表1⽉,11表代表12⽉;
  date的值域在1~31之间;
  hrs的值域在0~23之间。从午夜到次⽇凌晨1点间hrs=0,从中午到下午1点间hrs=12;
  min和sec的值域在0~59之间。
  例 Date day=new Date(11,3,4);
  //day中的时间为:04-Apr-11 12:00:00 AM
另外,还可以给出不正确的参数。
  例 设定时间为1910年2⽉30⽇,它将被解释成3⽉2⽇。
  Date day=new Date(10,1,30,10,12,34);
  System.out.println("Day's date is:"+day);
  //打印结果为:Day's date is:Web Mar 02 10:13:34 GMT+08:00 1910
4.⽇期格式转为⽇期标准字符串:年⽉⽇
var formatDate = function (date) {
var y = FullYear();
var m = Month() + 1;
m = m < 10 ? '0' + m : m;
var d = Date();
d = d < 10 ? ('0' + d) : d;
return y + '-' + m + '-' + d;
};
5.js⽅法返回值:年⽉⽇时分秒
  var formatDateTime = function (date) {     
       var y = FullYear();
var m = Month() + 1;
m = m < 10 ? ('0' + m) : m;
var d = Date();
d = d < 10 ? ('0' + d) : d;
var h = Hours();
h=h < 10 ? ('0' + h) : h;
var minute = Minutes();
minute = minute < 10 ? ('0' + minute) : minute;
var Seconds();
second=second < 10 ? ('0' + second) : second;
return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
  }
调⽤:formatDate(new Date())
6.获取固定时间的时间戳,获取当前时间看上⾯2
let data ="2019-02-01"
var timestamp1 = Date.parse(new Date(data));//转成的时间戳是年⽉⽇时分秒把毫秒改成000显⽰
var timestamp2 = (new Date(data)).valueOf();//转成的时间戳是年⽉⽇时分秒毫秒
var timestamp3 = new Date(data).getTime();//转成的时间戳是年⽉⽇时分秒毫秒
7.时间戳转成⽇期
function format(shijian){
let date = new Date(shijian)
var y = FullYear();
var m = Month() + 1;
m = m < 10 ? ('0' + m) : m;
var d = Date();
d = d < 10 ? ('0' + d) : d;
var h = Hours();
h=h < 10 ? ('0' + h) : h;
var minute = Minutes();
minute = minute < 10 ? ('0' + minute) : minute;
var Seconds();
second=second < 10 ? ('0' + second) : second;
return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
},
format(时间戳)
8.封装时间⽇期格式的转化
timeStamp:时间戳,
type :根据⾃⼰的需要设置格式: Y-M-D  Y-M-D H 等等
auto :为false是转化格式,为true是输⼊之前到今天的此时时间
formatDate(timeStamp, type = 'Y-M-D H:I:S', auto = true) {
let time = (timeStamp + '').length === 10 ? new Date(parseInt(timeStamp) * 1000) : new Date(parseInt(timeStamp));            let _year = FullYear();
let _month = (Month() + 1) < 10 ? '0' + (Month() + 1) : (Month() + 1);
let _date = Date() < 10 ? '0' + Date() : Date();
let _hours = Hours() < 10 ? '0' + Hours() : Hours();
let _minutes = Minutes() < 10 ? '0' + Minutes() : Minutes();
let _secconds = Seconds() < 10 ? '0' + Seconds() : Seconds();
let formatTime = '';
let distinctTime = new Date().getTime() - Time();
if (auto) {unix时间戳转换日期格式
if (distinctTime <= (1 * 60 * 1000)) {
// console.log('⼀分钟以内,以秒数计算');
let _s = Math.floor((distinctTime / 1000) % 60);
formatTime = _s + '秒前';
} else if (distinctTime <= (1 * 3600 * 1000)) {
// console.log('⼀⼩时以内,以分钟计算');
let _m = Math.floor((distinctTime / (60 * 1000)) % 60);
formatTime = _m + '分钟前';
} else if (distinctTime <= (24 * 3600 * 1000)) {
// console.log('⼀天以内,以⼩时计算');
let _h = Math.floor((distinctTime / (60 * 60 * 1000)) % 24);
formatTime = _h + '⼩时前';
} else if (distinctTime <= (30 * 24 * 3600 * 1000)) {
let _d = Math.floor((distinctTime / (24 * 60 * 60 * 1000)) % 30);
formatTime = _d + '天前';
// console.log('30天以内,以天数计算');
} else {
/
/ 30天以外只显⽰年⽉⽇
formatTime = _year + '-' + _month + '-' + _date;
}
} else {
switch (type) {
case 'Y-M-D H:I:S':
formatTime = _year + '-' + _month + '-' + _date + ' ' + _hours + ':' + _minutes + ':' + _secconds;
break;
case 'Y-M-D H:I:S zh':
formatTime = _year + '年' + _month + '⽉' + _date + '⽇  ' + _hours + ':' + _minutes + ':' + _secconds;
break;
case 'Y-M-D H:I':
formatTime = _year + '-' + _month + '-' + _date + ' ' + _hours + ':' + _minutes;
break;
case 'Y-M-D H':
formatTime = _year + '-' + _month + '-' + _date + ' ' + _hours;
break;
case 'Y-M-D':
formatTime = _year + '-' + _month + '-' + _date;
break;
case 'Y-M-D zh':
formatTime = _year + '年' + _month + '⽉' + _date + '⽇';
break;
case 'Y-M':
formatTime = _year + '-' + _month;
break;
case 'Y':
formatTime = _year;
break;
case 'M':
formatTime = _month;
break;
case 'D':
formatTime = _date;
break;
case 'H':
formatTime = _hours;
break;
case 'I':
formatTime = _minutes;
break;
case 'S':
formatTime = _secconds;
break;
default:
formatTime = _year + '-' + _month + '-' + _date + ' ' + _hours + ':' + _minutes + ':' + _secconds;
break;
}
}  // 返回格式化的⽇期字符串
return formatTime;
},
以上的内容是⾃⼰经过验证,如有问题⼤家可以可以留⾔
参考⽹址:blog.csdn/qq_39759115/article/details/78893853,blog.csdn/qq_39759115/article/details/78893853

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。