//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 )
 
 
 

js获取昨天/上周/上个月开始和结束的时间戳,可以设置时分秒 js obtain start and end timestamp of yesterday/last week/last month, with set of hour/minute/second的更多相关文章

  1. js 获取当天23点59分59秒 时间戳 (最简单的方法)

    js 获取当天23点59分59秒 时间戳 (最简单的方法) new Date(new Date(new Date().toLocaleDateString()).getTime()+24*60*60* ...

  2. js获取昨天日期

    刚刚js做项目,遇到需要获取昨天日期的问题,网上找了下答案,感觉网上的答案都不太严谨,自己写了个,凑合能用吧,忘大神们抛砖指教. <script type="text/javascri ...

  3. js获取昨天今天和明天

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/UP19910522/article/details/30028299 <html> &l ...

  4. JS获取昨天/今天/今年第一天的方法

    talk is cheap,show me the code! //获取昨天 var day1 = new Date(); day1.setTime(day1.getTime()-24*60*60*1 ...

  5. js 获取昨天,今天,本周,上周,季度等时间范围(封装的js)

    (function ($, ht) { "use strict"; $.extend(ht, { clickTimeRange:function(){ //点击重置按钮,时间文本框 ...

  6. js获取昨天,最近7天,最近30天通用方法

    function formatDate (val) { // 格式化时间 let start = new Date(val) let y = start.getFullYear() let m = ( ...

  7. JS获取今天和上个月的今天

    function getLastMonth(){ var now=new Date(); var year = now.getFullYear();//getYear()+1900=getFullYe ...

  8. js获取日期当天的开始时间和结束时间

    //函数调用传参格式为 2018-6-6或者2018.6.6//如:startUnix(2018-6-6) 返回的时间戳格式‘1528300799’ function startUnix($date) ...

  9. 讨论一下js获取响应中后台传回来的BigInteger类型的数字时,后几位会自动变为0的问题

    后台返回的json:{"data":12345678912345678912} 在js中获取该data得到的值为:12345678912345680000 后经过实验发现,只有数字 ...

随机推荐

  1. L05-Linux部署msmtp+mutt发送邮件

    一.前言 首先,得明白发送一封邮件的流程,下面一段理论摘抄自廖雪峰的官网网站https://www.liaoxuefeng.com/article/00137387674890099a71c04005 ...

  2. Linux 线程调度策略与线程优先级

    Linux内核的三种调度策略 SCHED_OTHER 分时调度策略. 它是默认的线程分时调度策略,所有的线程的优先级别都是0,线程的调度是通过分时来完成的.简单地说,如果系统使用这种调度策略,程序将无 ...

  3. js字符串去重

    js字符串去重: 1.  去掉字符串前后所有空格: function Trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); } ...

  4. git 远程库和url

    我们使用 git remote add origin <url> 来关联远程主机,这个origin就是关联的远程主机名,如果我们想同时关联两个远程主机,我们可以用 git remote a ...

  5. 【学习小记】KD-Tree

    Preface 听说KD树实在是个大神器 可以解决多维空间多维偏序点权和,可以求某个点的空间最近最远点 就二维平面上的来说,复杂度在\(O(n\log n)\)到\(O(n\sqrt n)\)不等 嫌 ...

  6. 2018南京网络赛 - Skr 回文树

    题意:求本质不同的回文串(大整数)的数字和 由回文树的性质可知贡献只在首次进入某个新节点时产生 那么只需由pos和len算出距离把左边右边删掉再算好base重复\(O(n)\)次即可 位移那段写的略微 ...

  7. WPF实现WORD 2013墨迹批注功能

    1 前言 WORD 2013可以使用墨迹在文档上面标注,本文讲述通过WPF第三方控件实现类似主要功能如下: 名称 描述 墨迹标注 不论是否触摸屏环境下可以开始墨迹功能,并实现鼠标/触摸在文档任意位置绘 ...

  8. macOS High Sierra 10.13正式版USB安装盘制作

    1.首先,准备一个 8GB 或更大容量的 U盘,并备份好里面的所有资料. 2.下载好 macOS High Sierra 正式版的安装程序:https://support.apple.com/zh-c ...

  9. (转)搞个这样的APP要多久?心酸啊。

    这是一个“如有雷同,纯属巧合”的故事,外加一些废话,大家请勿对号入座.开始了…… 我有些尴尬地拿着水杯,正对面坐着来访的王总,他是在别处打拼的人,这几年据说收获颇丰,见移动互联网如火如荼,自然也想着要 ...

  10. 自定义 checkbox 样式

    前言:最近在做一个网站,为了统一风格,需要自定义checkbox的样式.所以花了点时间参考了 研究了一下.感觉上面的方法略微麻烦.所以自己重新写了下面的代码,欢迎大家指教.同时,感谢w3cplus提供 ...