js 如何拿到后天的时间_js获取日期及日期相关js方法 积累总结

js获取日期

常用如下:

var date = new Date();//中国标准时间

var year = date.getFullYear();//获取完整的年份(4位)

var month = date.getMonth();//获取当前月份(0-11,0代表1月)

var nowDate = date.getDate();//获取当前日(1-31)

var day = date.getDay();//获取当前星期X(0-6,0代表星期天)

日期的相关方法

格式化日期

1、yyyy-MM-dd

//格式化日期:yyyy-MM-dd

function formatDate(date) {

var myyear = date.getFullYear();

var mymonth = date.getMonth() + 1;

var myweekday = date.getDate();

if (mymonth < 10) {

mymonth = "0" + mymonth;

}

if (myweekday < 10) {

myweekday = "0" + myweekday;

}

return (myyear + "-" + mymonth + "-" + myweekday);//想要什么格式都可以随便自己拼

}

var date = new Date();

//date

//Mon Jun 25 2018 15:32:38 GMT+0800 (中国标准时间)

formatDate(date);

//"2018-06-25"

或者 js标准时间格式化中@joy钰的回答:

function formatDate(dateArg) {

const date = new Date(dateArg);

const year = date.getFullYear();

const month = date.getMonth() + 1;

const day = date.getDate();

const formatMonth = month < 10 ? `0${month}` : month;

const formatDay = day < 10 ? `0${day}` : day;

return `${year}-${formatMonth}-${formatDay}`

}

2、xx 年 xx 月 xx 日 xx 时 xx 分

//获取当前日期 时间

function todayTime() {

var date = new Date();

var curYear = date.getFullYear();

var curMonth = date.getMonth() + 1;

var curDate = date.getDate();

if(curMonth<10){

curMonth = '0' + curMonth;

}

if(curDate<10){

curDate = '0' + curDate;

}

var curHours = date.getHours();

var curMinutes = date.getMinutes();

var curtime = curYear + ' 年 ' + curMonth + ' 月 ' + curDate +' 日' + curHours + '时 ' + curMinutes + '分 ';

return curtime;

}

3、英文格式日期

//获取当前日期 英文

function todayTimeEn() {

var dt = new Date();

var m = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

mn = dt.getMonth();

dn = dt.getDate();

if(dn<10){

dn = '0' + dn;

}

var curtime = m[mn] + " " + dn + ", " + dt.getFullYear();

return curtime;

}

4、 自定义任意格式

Date.prototype.Format = function (fmt) {

var o = {

"M+": this.getMonth() + 1, // 月份

"d+": this.getDate(), // 日

"h+": this.getHours(), // 小时

"m+": this.getMinutes(), // 分

"s+": this.getSeconds(), // 秒

"q+": Math.floor((this.getMonth() + 3) / 3), // 季度

"S": this.getMilliseconds()

// 毫秒

};

if (/(y+)/.test(fmt))

fmt = fmt.replace(RegExp.$1, (this.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;

}

使用方法:

new Date().Format('yyyy-MM-dd hh:mm')

//console.log打印结果: "2019-08-22 16:42"

new Date().Format('yyyy.MM.dd hh:mm')

//console.log打印结果: "2019.08.22 16:44"

new Date().Format('yyyy-MM-dd')

//console.log打印结果:"2019-08-22"

周、月 相关的日期方法

1、一周 、本周

//近七天的日期

function setDate() {

var now = new Date();

//一天的毫秒数

var millisecond = 1000 * 60 * 60 * 24;

var end= new Date(now.getTime() - (7 * millisecond));

var beginDate = formatDate(now);

var endDate = formatDate(end);

console.log("beginDate:"+beginDate);

console.log("endDate :"+endDate );

}

//本周日期 (取周一为第一天、周日为最后一天)

function weekDate() {

var date = new Date();

var year = date.getFullYear();

var month = date.getMonth();

var nowDate = date.getDate();

var day = date.getDay();

var beginDate = new Date(year, month, nowDate - day + 1);

var endDate = new Date(year, month, nowDate + (6 - day) + 1);

beginDate = formatDate(beginDate);

endDate = formatDate(endDate);

console.log("beginDate:"+beginDate);

console.log("endDate :"+endDate );

}

2、 月

//本月日期

function monthDate() {

var date = new Date();

var year = date.getFullYear();

var month = date.getMonth() + 1;

if (month < 10) {

month = "0" + month;

}

var day = getDaysInOneMonth(year, month);

var beginDate = year + "-" + month + "-01";

var endDate = year + "-" + month + "-" + day;

console.log("beginDate:"+beginDate);

console.log("endDate :"+endDate );

}

//获取某月天数

function getDaysInOneMonth(year, month) {

month = parseInt(month, 10);

var d = new Date(year, month, 0);

return d.getDate();

}

3、获取前天、昨天、今天、明天、后天的时间

// 获取AddDayCount天后的日期,例如 前天GetDateStr(-2)、昨天GetDateStr(-1)、今天GetDateStr(0)、明天GetDateStr(1)、后天GetDateStr(3)的日期

function GetDateStr(AddDayCount) {

var dd = new Date();

dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期

var y = dd.getFullYear();

var m = dd.getMonth()+1;//获取当前月份的日期

var d = dd.getDate();

return y+"-"+m+"-"+d;

}

console.log("前天:"+GetDateStr(-2));

console.log("昨天:"+GetDateStr(-1));

console.log("今天:"+GetDateStr(0));

console.log("明天:"+GetDateStr(1));

console.log("后天:"+GetDateStr(2));

console.log("大后天:"+GetDateStr(3));

上述方法,稍加修改,即可完成如下:

4、获取某个日期date的前天、昨天、今天、明天、后天的日期

// 获取该date日期AddDayCount天后的日期

function GetDateCountStr(date, AddDayCount) {

let dd = new Date(date);

dd.setDate(dd.getDate() + AddDayCount);// 获取AddDayCount天后的日期

let year = dd.getFullYear();

let month = dd.getMonth() + 1;// 获取当前月份的日期

let day = dd.getDate();

if (month < 10) {

month = '0' + month;

}

if (day < 10) {

day = '0' + day;

}

return (year + '-' + month + '-' + day);

}

使用:

例如

date的前天GetDateCountStr(date, -2)

date的昨天GetDateCountStr(date, -1)

date的今天GetDateCountStr(date,0)

date的明天GetDateCountStr(date,1)

date的后天GetDateCountStr(date,2)

5、获取起始时间算起第n周的日期

function weeks_enddate(startdate,n){

var date = new Date(startdate);

date.setTime(date.getTime() + 3600 * 1000 * 24 * 7 * n);//第n周,1、2、3、4.....

return formatDate(date);

}

//示例:

var startdate = '2018-06-27';//或者 var startdate= new Date()这样写也行的

var week_num = 2;//n是从1开始的整数即可

var enddate = weeks_enddate(startdate,week_num);

console.log("enddate :"+enddate );

//enddate :2018-07-11

上述方法,稍加修改,即可完成如下:

以周一为一周的第一天算,获取以开始日期所在周为第一周算起的第n周周日的日期

//以周一为一周的第一天算,获取以开始日期所在周为第一周算起的第n周周日的日期

function weeks_enddate(startdate,n){//startdate为开始日期,第n周

var date = new Date(startdate);

var year = date.getFullYear();

var month = date.getMonth();

var nowDate = date.getDate();

var day = date.getDay();

if(day > 0){

date = new Date(year, month, nowDate + (6 - day) + 1);

}

date.setTime(date.getTime() + 3600 * 1000 * 24 * 7 * (n-1));//第n周

return formatDate(date);

}

//示例:

var startdate = '2018-08-10';

var n = 3;//第3周

weeks_enddate(startdate,n);//执行结果为"2018-08-26",以开始日期所在周算为第一周获取第三周周日的日期

//示例:

var startdate = '2018-08-10';

var n = 0;

weeks_enddate(startdate,n);//执行结果为"2018-08-05",上周日的日期

//示例:

var startdate = '2018-08-10';

var n = -1;

weeks_enddate(startdate,n);//执行结果为"2018-07-29",上上周日的日期

利用上述方法,灵活运用,即可获任意日期所在周的一周的日期

function weekyCalendar(date) {

var dateFlag = weeksEndDate(date, 1); // 获取当前日期的下一个周日的日期

if (dateFlag == date) {

// 直接获取到当前date之前的七天

var daySun = GetDateCountStr(date, 0);

var daySat = GetDateCountStr(date, 1);

var dayFri = GetDateCountStr(date, 2);

var dayThur = GetDateCountStr(date, 3);

var dayWed = GetDateCountStr(date, 4);

var dayTues = GetDateCountStr(date, 5);

var dayMon = GetDateCountStr(date, 6);

var days = [daySun, daySat, dayFri, dayThur, dayWed, dayTues, dayMon];

} else {

// 获取到dateFlag这个周日一周前的七天日期

var daySun = GetDateCountStr(dateFlag, -7);

var daySat = GetDateCountStr(dateFlag, -6);

var dayFri = GetDateCountStr(dateFlag, -5);

var dayThur = GetDateCountStr(dateFlag, -4);

var dayWed = GetDateCountStr(dateFlag, -3);

var dayTues = GetDateCountStr(dateFlag, -2);

var dayMon = GetDateCountStr(dateFlag, -1);

var days = [daySun, daySat, dayFri, dayThur, dayWed, dayTues, dayMon];

}

return days;

}

示例:

var dates = weekyCalendar('2019-08-30');

console.log(dates);

//(7) ["2019-08-25", "2019-08-26", "2019-08-27", "2019-08-28", "2019-08-29", "2019-08-30", "2019-08-31"]

var dates = weekyCalendar('2019-08-25');

console.log(dates);

//(7) ["2019-08-25", "2019-08-26", "2019-08-27", "2019-08-28", "2019-08-29", "2019-08-30", "2019-08-31"]

相关参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值