0
点赞
收藏
分享

微信扫一扫

js获取某天日期,当前时间,时间戳转换

1. 获取n天前日期

console.log(getDate(0), '当前日期-------------->')  //yyyy-MM-dd
console.log(getDate(-1), '昨天日期-------------->') //yyyy-MM-dd
console.log(getDate(-8), '8天前日期-------------->') //yyyy-MM-dd
console.log(getDate(1), '明天日期-------------->') //yyyy-MM-dd
console.log(getDate(10), '10天后日期-------------->') //yyyy-MM-dd


function getDate(num) {
var date1 = new Date();
//今天时间
var time1 = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate();
var date2 = new Date(date1);
date2.setDate(date1.getDate() + num);
//num是正数表示之后的时间,num负数表示之前的时间,0表示今天
var time2 = addZero(date2.getFullYear()) + "-" + addZero((date2.getMonth() + 1)) + "-" + addZero(date2.getDate());
return time2;
}

function addZero(num) {//补0方法
if (parseInt(num) < 10) {
num = '0' + num;
}
return num;
}

 2. 获取当前月份的第一天和最后一天

// 当前月份第一天
function getCurrentMonthFirst(){
var date = new Date();
date.setDate(1);
var month = parseInt(date.getMonth()+1);
var day = date.getDate();
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
return date.getFullYear() + '-' + month + '-' + day;
}
// 当前月份最后一天
function getCurrentMonthLast(){
var date=new Date();
var currentMonth=date.getMonth();
var nextMonth=++currentMonth;
var nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1);
var oneDay=1000*60*60*24;
var lastTime = new Date(nextMonthFirstDay-oneDay);
var month = parseInt(lastTime.getMonth()+1);
var day = lastTime.getDate();
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
return date.getFullYear() + '-' + month + '-' + day;
}

3. 获取当前周的第一天和最后一天 

/**
* 获取当前周 第一天 和 最后 一天
*/
function getCurrWeek(){
var d = new Date();
var year = d.getFullYear();
var month = parseInt(d.getMonth())+1;

//获取周一
var beginWhereTheTime = GetMondayAndSunday(d);
var dd = new Date(beginWhereTheTime);
//获取周天
dd.setDate(dd.getDate()+6);
var monthSunday = parseInt(dd.getMonth())+1;
var endWhereTheTime = dd.getFullYear() + "-" + formatDate(monthSunday) + "-" + formatDate(dd.getDate());

return {
"Monday":beginWhereTheTime,
"Sunday":endWhereTheTime
}
}
//获取指定日期所在周周一
function GetMondayAndSunday(dd) {
var week = dd.getDay(); //获取时间的星期数
var minus = week ? week - 1 : 6;
dd.setDate(dd.getDate() - minus); //获取minus天前的日期
var y = dd.getFullYear();
var m = dd.getMonth() + 1; //获取月份
var d = dd.getDate();
return y + "-" + formatDate(m) + "-" + formatDate(d);
}
//格式化月和日为MM、dd
function formatDate(value){
if(value < 10){
value = "0" + value;
}
return value;
}

 4. 获取某个日期(yyyy-MM-dd)为周几

// 获取yyyy-MM-dd 为周几?
function getWeek(date) {
var weekArray = new Array("周日", "周一", "周二", "周三", "周四", "周五", "周六");
var week = weekArray[new Date(date).getDay()];
return week;
}

 5. 获取当前时间24小时制

let currentTime = new Date().toLocaleTimeString('chinese', { hour12: false })
console.log(currentTime, '当前时间-------------->') //HH:mm:ss

 6. 标准时间转为时间戳

/**
* 标准时间转为时间戳(13位)
* dateTime格式:yyyy-MM-dd HH:mm:ss 如果为yyyy-MM-dd格式 则默认为08:00:00
* 如果不传dateTime 就是当前时间
*/

// 1.只能精确到秒
let timeStamp = Date.parse(new Date(dateTime))
// 2.获取到具体的毫秒值
let timeStamp = (new Date()).valueOf()
// 3.获取到具体的毫秒值(推荐使用 ①)
let timeStamp = new Date().getTime()
let timeStamp = Date.now()

7. 时间戳转为标准时间 (yyyy-MM-dd HH:mm:ss)

// 时间戳转为标准时间
function timeStampTodateTime(timeStamp) { //timeStamp:毫秒格式,即13位 如果是秒就 *1000
let s = new Date(timeStamp)
let y = s.getFullYear()
let m = (s.getMonth() + 1) < 10 ? '0' + (s.getMonth() + 1) : (s.getMonth() + 1)
let dd = s.getDate() < 10 ? '0' + s.getDate() : s.getDate()
let hh = s.getHours() < 10 ? '0' + s.getHours() : s.getHours()
let mm = s.getMinutes() < 10 ? '0' + s.getMinutes() : s.getMinutes()
let ss = s.getSeconds() < 10 ? '0' + s.getSeconds() : s.getSeconds()
let enddate = y + '-' + m + '-' + dd + ' ' + hh + ':' + mm + ":" + ss
return enddate
}

8. 将Tue Mar 08 2022 16:43:57 GMT+0800 (中国标准时间)转为标准时间格式(yyyy-MM-dd HH:mm:ss) 

function dateFormat(value) {
let d = new Date(value);
let month = d.getMonth() > 8 ? d.getMonth() + 1 : '0' + (d.getMonth() + 1)
let date = d.getFullYear() + '-' + month + '-' + d.getDate()
let hour = d.getHours() > 9 ? d.getHours() : '0' + d.getHours()
let minute = d.getMinutes() > 9 ? d.getMinutes() : '0' + d.getMinutes()
let time = date + ' ' + hour + ':' + minute + ':00'
return time;
}


举报

相关推荐

0 条评论