如果你遇到后台给你的时间是时间戳的时候,虽然有很多封装好的方法供我们使用,但是,还有有些需求用不了这些封装好的方法。
所以,我总结了以下方法。
我遇到的问题是,一个类似于驾驶证颁发日期。在过期之前要复审,所谓的复审就是过期的日期那天 减去三年零一天。这个时候后台已经把过期的时间戳返给我。这个时候就需要我转换一下
代码如下
const date = new Date(this.getCard.endDate)
//补零操作
// if (date.getMonth() + 1 <= 9) {
// mounthDay = "0" + mounth;
// } else {
// mounthDay = mounth;
// }
// if (date.getDate() <= 9) {
// dateDay = "0" + date.getDate();
// } else {
// dateDay = date.getDate();
// }
// if (date.getHours() <= 9) {
// hours = "0" + date.getHours();
// } else {
// hours = date.getHours();
// }
// if (date.getMinutes() <= 9) {
// minutes = "0" + date.getMinutes();
// } else {
// minutes = date.getMinutes();
// }
// if (date.getSeconds() <= 9) {
// seconds = "0" + date.getSeconds();
// } else {
// seconds = date.getSeconds();
// }
// return (
// date.getFullYear() +
// "-" +
// mounthDay +
// "-" +
// dateDay +
// " " +
// hours +
// ":" +
// minutes +
// ":" +
// seconds
// );
//年份减去三年
let year=(date.getFullYear()-3)
let mounthDay = 0;
//因为月份是从0开始 所以要加1
let mounth = date.getMonth() + 1;
let dateDay = 0;
//要求是减去三年零一天
//判断如果日期是1日 那么要判断 首先月份要减一
if(date.getDate()-1<1){
mounth=mounth-1
//判断如果月份是一月份 减1的时候 要规整为12月 并且年份也要再减去1
if(mounth-1<1){
year=year-1
mounth=12
}
//这里判断如果月份为31天的时候和30天的时候
if(mounth==1 || mounth==3 ||mounth==5||mounth==7||mounth==8||mounth==10 ||mounth==12){
dateDay=31
}else{
dateDay=30
}
}else{
//这里是最外层判断日期是否小于1 取反之就是不小于1的时候 正常减1就行
dateDay=date.getDate()-1
}
//这里是补0操作
if(mounth<10){
mounth="0"+mounth
}
if(dateDay<10){
dateDay="0"+dateDay
}
总结:
date是自己的时间戳转换为中国标准时间 :date = new Date(this.getCard.endDate)
date.getFullYear() 获取的年份 //2019
date.getMonth() + 1 是获取的月份//11
date.getDate() 获取日期//01
date.getHours()获取小时 //15
date.getMinutes() 获取分钟//55
date.getSeconds() 获取秒数 //10
写的很详细了 很基础的东西 用到可以直接拿去用。