JS-获取时间的方法:当天,近3天,本周,本月,上月,今年,明年
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | /** * 获取最近3天日期 * @param {*} day */ getDay: function (day) { var that = this ; var today = new Date(); var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day; today.setTime(targetday_milliseconds); //注意,这行是关键代码 var tYear = today.getFullYear(); var tMonth = today.getMonth(); var tDate = today.getDate(); tMonth = that.doHandleMonth(tMonth + 1); tDate = that.doHandleMonth(tDate); return tYear + "-" + tMonth + "-" + tDate; }, doHandleMonth: function (month) { var m = month; if (month.toString().length == 1) { m = "0" + month; } return m; },getDay(dates) //dates为数字类型,0代表今日,-1代表昨日,1代表明日,返回yyyy-mm-dd格式字符串,dates不传默认代表今日。 /** * 获取本周起止日期 */ getMonday: function (type, dates) { var now = new Date(); var nowTime = now.getTime(); var day = now.getDay(); var longTime = 24 * 60 * 60 * 1000; var n = longTime * 7 * (dates || 0); if (type == "s" ) { var dd = nowTime - (day - 1) * longTime + n; }; if (type == "e" ) { var dd = nowTime + (7 - day) * longTime + n; }; dd = new Date(dd); var y = dd.getFullYear(); var m = dd.getMonth() + 1; var d = dd.getDate(); m = m < 10 ? "0" + m : m; d = d < 10 ? "0" + d : d; var day = y + "-" + m + "-" + d; return day; },getMonday(type,dates) //type为字符串类型,有两种选择,"s"代表开始,"e"代表结束,dates为数字类型,不传或0代表本周,-1代表上周,1代表下周 getMonday( "s" ,1) //得到下周一的yyyy-mm-dd格式日期 getMonday( "e" ,1) //得到下周日的yyyy-mm-dd格式日期 /** * 获取上月,本月 */ getMonth: function (type, months) { var d = new Date(); var year = d.getFullYear(); var month = d.getMonth() + 1; if (Math.abs(months) > 12) { months = months % 12; }; if (months != 0) { if (month + months > 12) { year++; month = (month + months) % 12; } else if (month + months < 1) { year--; month = 12 + month + months; } else { month = month + months; }; }; month = month < 10 ? "0" + month : month; var date = d.getDate(); var firstday = year + "-" + month + "-" + "01" ; var lastday = "" ; if (month == "01" || month == "03" || month == "05" || month == "07" || month == "08" || month == "10" || month == "12" ) { lastday = year + "-" + month + "-" + 31; } else if (month == "02" ) { if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) { lastday = year + "-" + month + "-" + 29; } else { lastday = year + "-" + month + "-" + 28; }; } else { lastday = year + "-" + month + "-" + 30; }; var day = "" ; if (type == "s" ) { day = firstday; } else { day = lastday; }; return day; },getMonth(type,months) //type为字符串类型,有两种选择,"s"代表开始,"e"代表结束,months为数字类型,不传或0代表本月,-1代表上月,1代表下月 getMonth( "s" ,1) //得到下月第一天的yyyy-mm-dd格式日期 getMonth( "e" ,1) //得到下月最后一天的yyyy-mm-dd格式日期/*** 今年,明年,前年**/function getYear(type, dates) { var dd = new Date(); var n = dates || 0; var year = dd.getFullYear() + Number(n); if (type == "s" ) { var day = year + "-01-01" ; }; if (type == "e" ) { var day = year + "-12-31" ; }; if (!type) { var day = year + "-01-01/" + year + "-12-31" ; }; return day; }; getYear(type,dates) //type为字符串类型,有两种选择,"s"代表开始,"e"代表结束,dates为数字类型,不传或0代表今年,-1代表去年,1代表明年 getYear( "s" ,1) //得到明年第一天的yyyy-mm-dd格式日期 getYear( "e" ,1) //得到明年最后一天的yyyy-mm-dd格式日期 |
调用的方法:
近3天:getDay(-3)
当天:getDay(0)
本周:开始时间:getMonday("s", 0) 结束时间:getMonday("e", 0)
上月:开始时间:getMonth("s", -1) 结束时间:getMonth("e", -1)
本月:开始时间:getMonth("s", 0) 结束时间:getMonth("e", 0)
分类:
javaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2018-10-22 小程序-支持的最小像素px
2018-10-22 js-图片img转base64格式