js根据当前日期获取前一周或者后一周等日期

 更新时间:2024年04月29日 10:14:08   作者:可爱的秋秋啊  
有的时候要获取当前日期,或者前一天、后一天的日期,下面这篇文章主要给大家介绍了关于js根据当前日期获取前一周或者后一周等日期的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

JavaScript中可以使用Date()对象来获取日期。

具体的使用方法如下:

  • 创建一个Date对象:var now = new Date();

  • 获取当前时间:var time = now.getTime();

  • 获取年份:var year = now.getFullYear();

  • 获取月份:var month = now.getMonth() + 1;

  • 获取日期:var date = now.getDate();

  • 获取小时:var hour = now.getHours();

  • 获取分钟:var minute = now.getMinutes();

  • 获取秒钟:var second = now.getSeconds();

  • 获取星期:var week = now.getDay();

注意,getMonth()方法返回的月份从0开始,所以需要加1。同时getDay()返回的是星期几的数字表示(0表示星期天),需要使用数组或switch语句进行转换。

示例代码:

var now = new Date();
var time = now.getTime();
var year = now.getFullYear();
var month = now.getMonth() + 1;
var date = now.getDate();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
var week = now.getDay();
console.log(year, month, date, hour, minute, second, week); 
            // 获取当前日期具体时间
			function getCurrentDate() {
				var now = new Date();
				var year = now.getFullYear(); //得到年份
				var month = now.getMonth(); //得到月份
				var date = now.getDate(); //得到日期
				var day = now.getDay(); //得到周几
				var hour = now.getHours(); //得到小时
				var minu = now.getMinutes(); //得到分钟
				var sec = now.getSeconds(); //得到秒
				month = month + 1;
				if (month < 10) month = "0" + month;
				if (date < 10) date = "0" + date;
				if (hour < 10) hour = "0" + hour;
				if (minu < 10) minu = "0" + minu;
				if (sec < 10) sec = "0" + sec;
				var time = "";
				//精确到天
				time = year + "-" + month + "-" + date + '周' + day + ' 时间: ' + hour + ":" + minu + ":" + sec;
				return time;
			}

			//获取当前日期
			function getCurrentDate1() {
				var startDate = new Date();
				var year = startDate.getFullYear();
				var month = startDate.getMonth() + 1;
				var day = startDate.getDate();
				if (month < 10) month = "0" + month;
				if (day < 10) day = "0" + day;
				return year + '-' + month + '-' + day;
			}
			var a = getCurrentDate()
			var b = getCurrentDate1()
			
			
			// 获取当前日期的减7天的时间
			function fun_date(aa) {
				var date1 = new Date()
				var time1 = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate(); //time1表示当前时间
				var date2 = new Date(date1);
				date2.setDate(date1.getDate() - aa);
				var time2 = date2.getFullYear() + "-" + (date2.getMonth() + 1) + "-" + date2.getDate();
				return time2
			}
			var c = fun_date(7)

			console.log(a, b, c)
			
			// 获取当前日期减7天的日期
			var nowDate = new Date();
			nowDate.setDate(nowDate.getDate() -7);
			var date=nowDate.getFullYear()+"-"+(nowDate.getMonth()+1)+"-"+nowDate.getDate()
			console.log(date)
			
			// 获取当前时间减7天的日期与具体时间点(时间戳获取)
			var start = new Date().getTime()/1000
			var end = start - (60*60*24*7)
			var lastDate=new Date(parseInt(end) * 1000).getFullYear()+"-"+(new Date(parseInt(end) * 1000).getMonth()+1)+"-"+new Date(parseInt(end) * 1000).getDate()
			console.log(lastDate,new Date(parseInt(end) * 1000).toLocaleString())	
			
			// 获取当前时间加7天的日期与具体时间点(时间戳获取)
			var start1 = new Date().getTime()/1000
			var end1 = start + (60*60*24*7)
			var lastDate1=new Date(parseInt(end) * 1000).getFullYear()+"-"+(new Date(parseInt(end) * 1000).getMonth()+1)+"-"+new Date(parseInt(end) * 1000).getDate()
			console.log(lastDate1,new Date(parseInt(end1) * 1000).toLocaleString())

附:javascript获取当前日期以及前n天的日期

这里我为了后续使用方便,封装了一个工具类js文件,且里面参数没有直接写死的

utils.js

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : '0' + n
}
// 获取当前日期 yyy-mm-dd
const formatDate = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()

  return [year, month, day].map(formatNumber).join('-')
}
// 获取前n天的日期 last为要求的哪一天,lastDate为哪一天的前n天
const getTimeLastDate = (last,lastDate) => {
  const year = last.getFullYear()
  const day = last.getDate()
  const ti = day - lastDate
  // const month6 = last.getMonth() + 1
  // const dayOfWeek = last.getDay() //今天本周的第几天  
  // 判断是否月初
  if (ti <= 0) {
    const month = last.getMonth() + 1 - 1
    const d = new Date(year, month, 0)
    const dayBig = d.getDate() //获取当月的所有天数
    const ti1 = dayBig + ti
    return [year, month, ti1].map(formatNumber).join('-')
  } else {
    const month = last.getMonth() + 1
    return [year, month, ti].map(formatNumber).join('-')
  }
  // return [year, month, day].map(formatNumber).join('-')

}

module.exports = {
  formatDate: formatDate,
  getTimeLastDate: getTimeLastDate
}

使用(以在小程序 中为例),

直接在声明data的时候调用即可

const utils = require('../../../utils/util');
data:{
    startDate: utils.getTimeLastDate(new Date(), 30), //当前日期前30天 要前几天的数据就传几
    endDate: utils.formatDate(new Date()), // 当前日期
}

以上的代码在计算超过30天的会有问题,建议使用下面这个

  getNextDate(date, day) {
    var dd = new Date(date);
    dd.setDate(dd.getDate() + day);
    var y = dd.getFullYear();
    var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
    var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
    return y + "-" + m + "-" + d;
  },

调用(当前日期前30天):

getNextDate(new Date(), -30)

总结 

到此这篇关于js根据当前日期获取前一周或者后一周等日期的文章就介绍到这了,更多相关js获取前一周或后一周日期内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Sortable.js功能强大的JavaScript 拖拽库示例详解

    Sortable.js功能强大的JavaScript 拖拽库示例详解

    SortableJS 是一个强大、灵活且易于使用的 JavaScript 库,适用于各种类型的拖放排序需求,这篇文章主要介绍了Sortable.js功能强大的JavaScript 拖拽库示例详解,需要的朋友可以参考下
    2025-01-01
  • 利用fecha进行JS日期处理

    利用fecha进行JS日期处理

    这篇文章主要介绍的是如何利用fecha进行JS日期处理,在日常项目中,经常会碰到日期处理的需求,这种需求千奇百怪,而且往往经常变化。虽然js提供了原生的Date方法供我们选择,但一些复杂的日期时间处理起来往往力不从心。下面通过这篇文章来一起学习学习吧。
    2016-11-11
  • webpack 如何同时输出压缩和未压缩的文件的实现步骤

    webpack 如何同时输出压缩和未压缩的文件的实现步骤

    这篇文章主要介绍了webpack 如何同时输出压缩和未压缩的文件的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • JavaScript实现表单验证示例

    JavaScript实现表单验证示例

    这篇文章主要为大家详细介绍了JavaScript实现表单验证示例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 小程序云开发之用户注册登录

    小程序云开发之用户注册登录

    这篇文章主要为大家详细介绍了小程序云开发之用户注册登录,带云数据库配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • 浅谈javascript的原型继承

    浅谈javascript的原型继承

    javascript的继承在很多框架中都有运用,尤其是原型式继承。首先要理解一个概念,什么是原型式继承?所谓的原型式继承,就是在函数内部先创建一个临时性的构造函数,然后将传入的对象做这个构造函数的原型,最后返回这个临时类型的新实例
    2012-07-07
  • 使用layui的router来进行传参的实现方法

    使用layui的router来进行传参的实现方法

    今天小编就为大家分享一篇使用layui的router来进行传参的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JavaScript判断textarea值是否为空并给出相应提示

    JavaScript判断textarea值是否为空并给出相应提示

    假如用户没有输入数据则给出相应提示,那么该如何来判断呢?下面以判断textarea值是否为空为例
    2014-09-09
  • 一个多浏览器支持的背景变暗的div并可拖动提示窗口功能的代码

    一个多浏览器支持的背景变暗的div并可拖动提示窗口功能的代码

    兼容IE、Firefox、Opera前几天在网上找了许多资料,看了不少兄弟的源码,一直找不到合适的,要不就是拖动有问题,要不就是不兼容Firefox,所以自已写了一个,下面是代码:
    2008-04-04
  • Javascript的构造函数和constructor属性

    Javascript的构造函数和constructor属性

    我们知道,默认情况下,对一个函数前面使用new,可以构造出一个对象。每一个对象都有一个constructor属性,这个constructor属性指向构造出该对象的函数。
    2010-01-01

最新评论