js获取昨天/上周/上个月开始和结束的时间戳,可以设置时分秒 js obtain start and end timestamp of yesterday/last week/last month, with set of hour/minute/second
2024-09-28 12:16:30
//obtain timestamp of last week
var now=new Date()
var nowDayOfWeek = now.getDay(); //今天本周的第几天
var nowDay = now.getDate(); //当前日
var nowMonth = now.getMonth(); //当前月
var nowYear = now.getFullYear(); //当前年
//obtain time of last month
var lastMonthDate = new Date(); //上月日期
lastMonthDate.setDate(1);
lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);
var lastMonth = lastMonthDate.getMonth();
//obtain timestamp of yesterday
var dateForYestd=new Date()
var yestdTime = Math.floor(dateForYestd.getTime()/1000)-86400
var yestd_time = new Date(yestdTime*1000)
yestd_time.setHours(0,0,0)
var yestd_start = yestd_time.getTime()/1000 //yesterday start
yestd_time.setHours(23,59,59)
var yestd_end = yestd_time.getTime()/1000 //yesterday end
console.log(yestd_start, yestd_end)
//格式化日期:yyyy-MM-dd
function formatDate(date) {
var myyear = date.getFullYear();
var mymonth = date.getMonth() + 1;
var myweekday = date.getDate();
var myHour = date.getHours();
var myMinute = date.getMinutes();
var mySecond = date.getSeconds();
if (mymonth < 10) {
mymonth = "0" + mymonth;
}
if (myweekday < 10) {
myweekday = "0" + myweekday;
}
if (myHour < 10) {
myHour = "0" + myHour;
}
if (myMinute < 10) {
myMinute = "0" + myMinute;
}
if (mySecond < 10) {
mySecond = "0" + mySecond;
}
return (myyear+"-"+mymonth+"-"+myweekday+" "+myHour+":"+myMinute+":"+mySecond)
}
//获得某月的天数
function getMonthDays(myMonth) {
var monthStartDate = new Date(nowYear, myMonth, 1);
var monthEndDate = new Date(nowYear, myMonth + 1, 1);
var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
return days;
}
//获得上周的开始日期
function getLastWeekStartDate(hour,minute,second) {
var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 6,hour,minute,second)
return formatDate(weekStartDate)
}
//获得上周的结束日期
function getLastWeekEndDate(hour,minute,second) {
var weekEndDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek,hour,minute,second)
return formatDate(weekEndDate);
}
//获得上月开始时间
function getLastMonthStartDate(hour,minute,second) {
if (lastMonth == 11) {
nowYear = nowYear - 1
}
var lastMonthStartDate = new Date(nowYear, lastMonth, 1, hour,minute,second);
return formatDate(lastMonthStartDate);
}
//获得上月结束时间
function getLastMonthEndDate(hour,minute,second) {
var lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth), hour,minute,second);
return formatDate(lastMonthEndDate);
}
//time to timestamp
var weekStart = new Date(getLastWeekStartDate('00','00','00'))
var weekEnd = new Date(getLastWeekEndDate('23','59','59'))
var monthStart = new Date(getLastMonthStartDate('00','00','00'))
var monthEnd = new Date(getLastMonthEndDate('23','59','59'))
//change starttime and endtime
var start_time = Math.floor(weekStart.getTime()/1000)
var end_time = Math.floor(weekEnd.getTime()/1000)
var month_start = Math.floor(monthStart.getTime()/1000)
var month_end = Math.floor(monthEnd.getTime()/1000)
console.log(start_time, end_time, month_start, month_end )
最新文章
- .NET的Cookie相关操作
- android单选框和复选框(练习)
- Node.js建站笔记-使用react和react-router取代Backbone
- JEECMS-自定义标签[list]
- [改善Java代码]多种最值算法,适时选择
- core dump + LINUX 内核系列博客
- 裸机编程与OS环境编程的有关思考
- 知识库系统confluence5.8.10 安装与破解
- C#1 输入输出 常量变量
- Delphi中MethodAddress汇编代码的解析
- 7z文件格式及其源码的分析
- 采用apicloud开发移动端项目心得体会
- SharePoint列表模板(.stp)
- jquery向Django后台发送数组
- explicit specialization 显式指定
- c++ 出现“ error LNK2019: 无法解析的外部符号 该符号在函数 中被引用";错误原因
- vscode关闭后未打开上次界面的解决办法
- Tomcat 自动化部署
- BFC (Block formatting context)
- centos7命令总结