//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. numpy 常用方法2

    Python之Numpy基础   一个栗子 >>> import numpy as np >>> a = np.arange(15).reshape(3, 5) & ...

  2. HEOI 十二省联考退役记

    Day -1 简要的说了些注意事项 一整天都在刷树套树的水题 退役的感觉近了 Day 0 早上收拾好东西去了火车站之后 火车站居然还没有开门 等了半天 我们是从衡水到德州再到秦皇岛 到了德州之后 去车 ...

  3. 什么是马拉车算法(Manacher's Algorithm)?

    提出问题 最长回文子串问题:给定一个字符串,求它的最长回文子串长度. 如果一个字符串正着读和反着读是一样的,那它就是回文串.如a.aa.aba.abba等. 暴力解法 简单粗暴:找到字符串的所有子串, ...

  4. jpetStore 学习总结(2)

    在写jpetstore时,最难理解的应该是数据库还有每个表之间的关系了,我在这里对数据库简单的介绍. 以下是数据库的所有表:    account表是个人信息表,里面包括用户的名字,邮箱,地址,哪个城 ...

  5. FJWC2019 全连

    题目描述 有n个音符,第i个音符会在第i个时刻来临 令第 i 个音符的准备时间为 ti​ 个单位时间,如果选择去点击第 i 个音符,那么就没法点击所有到来时刻在 (i−ti​ ,i+ti​)中的音符. ...

  6. Windows10 安装 .Net 3.5 失败的解决方案

    最近因为使用一个公司内部的工具,需要安装.Net 3.5 SP1, 却发现无论如何都安装不上,无论是通过在线和离线安装包,还是通过Windows自带的feature安装功能,每次都是会提示错误0x80 ...

  7. masm32环境配置

    软件: Windows7-32bit visual c++6.0 Masm32 sdk 11 安装: 0x00 || 下载Masm sdk 11并安装,下载路径:http://www.masm32.c ...

  8. Flutter框架概览

    前言:进入新框架的开发前,有必要整体了解框架设计及特点,对该框架初步认识,此文对Flutter框架进行浅显梳理,以备查阅: Flutter框架   从该架构图可知,Flutter框架可分为Framew ...

  9. SVN无法读取cruuent修复方法

    解决方法:在网上百度和google了一大圈之后,终于得知是断电时current和txn-current文件没有写入当前最新版本号和最新版本的路径问题 当时非常抓狂,项目刷新一直为空. 1.先把curr ...

  10. 11.Set 和 Map数据结构

    1.set 基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. const s = new S ...