獲取(js)本週週一 週日日期、本季度、本月、上月的開端日期、停止日期(轉帖)...
轉帖地址:http://blog.csdn.net/kongjiea/article/details/46829023
1、首先來一個自己公司專案的原始碼:
專案需求描述: 從20150712日開始, ,
需求①:根據當前時間返回每一週 、週一~週日的日期(需返回2種格式 格式1:7月13日,格式2:2015-07-13)
需求②:返回當前時間本週的,週一早上9:00:00和週日的23:59:59
需求③:計算出當前時間離20150712日有多少周
需求④:在需求3基礎上,如果大於一週,需要返回歷史周的週一早上9:00:00和週日的23:59:59 (在此用二位陣列)
[html] view plain copy print- function GetWeekDate(time){
- var now = new Date(time); //當前日期
- this.nowDayOfWeek = now.getDay(); //今天本週的第幾天
- this.nowYear = now.getYear(); //當前年
- this.nowMonth = now.getMonth(); //月
- this.nowDay = now.getDate(); //日
- this.beginHour="09:00:00";
- this.endHour="23:59:59";
- this.nowYear += (this.nowYear <
- this.nowDayOfWeek = this.nowDayOfWeek==0?7:this.nowDayOfWeek; // 如果是週日,就變成周七
- }
- GetWeekDate.prototype.date2str=function(x,y){//date2str(new Date(curTime),"yyyy-MM-dd")
- var z ={y:x.getFullYear(),M:x.getMonth()+1,d:x.getDate(),h:x.getHours(),m:x.getMinutes(),s:x.getSeconds()};
- return y.replace(/(y+|M+|d+|h+|m+|s+)/g,function(v) {return ((v.length>1?"0":"")+eval('z.'+v.slice(-1))).slice(-(v.length>2?v.length:2))});
- }
- GetWeekDate.prototype.formatDate=function(date){//格局化日期:yyyy-MM-dd
- var myyear = date.getFullYear();
- var mymonth = date.getMonth()+1;
- var myweekday = date.getDate();
- //alert("formatDate"+myyear+":"+mymonth+":"+myweekday)
- if(mymonth <10){
- mymonth = "0" + mymonth;
- }
- if(myweekday <10){
- myweekday = "0" + myweekday;
- }
- return (myyear+"-"+mymonth + "-" + myweekday);
- }
- GetWeekDate.prototype.getWeekStartDate=function(){ //獲得本週的開端日期
- var weekStartDate = new Date(this.nowYear, this.nowMonth, this.nowDay - this.nowDayOfWeek+1);
- return this.formatDate(weekStartDate);
- }
- GetWeekDate.prototype.getWeekEndDate=function(){//獲得本週的停止日期
- var weekEndDate = new Date(this.nowYear, this.nowMonth, this.nowDay + (6 - this.nowDayOfWeek+1));
- return this.formatDate(weekEndDate);
- }
- GetWeekDate.prototype.getAWeedkYMD=function(){//獲得本週週一~週日的年月日
- var ymdArr=[];
- for (var i = 0; i <7; i++) {
- ymdArr[i]=[];
- //ymdArr[i][0]=this.formatDate(new Date(this.nowYear, this.nowMonth, this.nowDay - this.nowDayOfWeek+i+1));
- ymdArr[i][0]=this.date2str(new Date(this.nowYear, this.nowMonth, this.nowDay - this.nowDayOfWeek+i+1),'yyyy-MM-dd');
- ymdArr[i][1]=this.date2str(new Date(this.nowYear, this.nowMonth, this.nowDay - this.nowDayOfWeek+i+1), 'MM月dd日');
- };
- return ymdArr;
- }
- GetWeekDate.prototype.getQishu=function(time){//獲得本週是指定日期(7.12日)的第幾周
- var oNDate=new Date(time); //系統當前時間
- var oEDate=new Date('2015/7/12 23:59:59');
- var diff= oNDate.getTime()-oEDate.getTime();
- //console.log(diff)
- //console.log("相差天:"+diff/(24*60*60*1000))
- //console.log("相差期數:"+parseInt(diff/(24*60*60*1000))/7)
- //console.log("取整期數:"+Math.floor(parseInt(diff/(24*60*60*1000))/7))
- return (diff/(24*60*60*1000))/7;
- }
- GetWeekDate.prototype.getWeeksDates=function(time){//獲取歷史周排行的週一到週日時間段
- var qishu = (this.qishu || this.qishu==0)?this.qishu:this.getQishu(time);
- //var qishu=this.getQishu(time);
- var WeeksTimes=[];//存放時間的二維陣列
- minYear=2015,
- minMonth=7,
- minDay=12;
- for (var i = 0; i<qishu; i++) {
- var sday;
- var eday;
- WeeksTimes[i]=[];
- if(i==0){//如果離2015-07-12只相差1期
- sday=minDay+1; //開始時間+1天
- }else{//如果離2015-07-12相差期數>1
- sday=minDay+1+7*i;
- }
- eday=minDay+7*(i+1);//結束時間+7天
- WeeksTimes[i][0]=this.formatDate(new Date(minYear,minMonth-1,sday))+" "+this.beginHour;
- WeeksTimes[i][1]=this.formatDate(new Date(minYear,minMonth-1,eday))+" "+this.endHour;
- };
- //如果是一週的週日就不要減去一期
- return WeeksTimes;
- }
- GetWeekDate.prototype.todayData=function(json){//處理tender_list_week.jsp頁面
- var oQishu=$('.qishu');
- iQishu=this.qishu;//期數+1是因為,相差0期就是第1期
- oThisWeekListBtn=$('.total_list_btn'),//檢視本週排行榜按鈕
- sTime=this.getWeekStartDate()+" "+this.beginHour,
- eTime=this.getWeekEndDate()+" "+this.endHour;
- //1、修改期數
- //console.log("相差周:"+iQishu);
- if(/^[1-9]\d*$/.test(iQishu) || iQishu==0){//整數 +3
- oQishu.html(iQishu*1+3);
- }else{
- oQishu.html(Math.floor(iQishu)*1+4);
- }
- oThisWeekListBtn.attr("onclick","showWeekList('"+sTime+"','"+eTime+"')");//2、修改檢視本週排行榜的起止時間
- }
- GetWeekDate.prototype.historyData=function(time){//處理tender_list_week.jsp頁面
- var oQishu=$('.qishu'),
- oDateList=$('#dateList'), //頂部導航時間
- oHistoryList=$('#history_cont'),//歷史周
- aThisWeekYMD=this.getAWeedkYMD(),//本週週一~週日的年月日
- aThisWeekDates=this.getWeeksDates(time);//獲取歷史周排行的週一到週日時間段
- iQishu=this.qishu;
- //console.log("相差周:"+iQishu);
- //1、修改期數,+4是加上前3期,在+1是如果間隔3期,當前就是第4期
- //如果時間23:59:59是正整數(-1),如果是0整數(3),如果是非整數(向下取整),或負數(向上取整)但是負數不考慮
- //oQishu.html(iQishu*1+3);
- if(/^[1-9]\d*$/.test(iQishu) || iQishu==0){//整數 +3
- oQishu.html(iQishu*1+3);
- }else{
- oQishu.html(Math.floor(iQishu)*1+4);
- }
- //2、給頂部時間追加時間
- for (var i = 0; i <aThisWeekYMD.length; i++) {
- var str='<li data-time="'+aThisWeekYMD[i][0]+'">'+aThisWeekYMD[i][1]+'</li>';
- $(str).appendTo(oDateList);
- };
- //3、給歷史周排行榜新增週期數
- if(this.qishu>1){//如果相差的期數大於1期
- //console.dir(aThisWeekDates)
- for (var j = 0; j <aThisWeekDates.length-1; j++) {
- var iQiNum=j+4;
- var str='<li onclick="showWeekList(\''+aThisWeekDates[j][0]+'\',\''+aThisWeekDates[j][1]+'\')">第'+iQiNum+'期</li>';
- $(str).prependTo(oHistoryList);
- };
- }
- }
- GetWeekDate.prototype.init=function(time){
- var iQishu=this.getQishu(time),//期數+1是因為,相差0期就是第1期
- json={};
- json.qishu=iQishu;
- this.qishu=iQishu;
- if($('#pageType').val()=="today"){//如果是tender_list_week.jsp頁面
- if(new Date(time).getTime() <new
相關推薦
獲取(js)本週週一 週日日期、本季度、本月、上月的開端日期、停止日期(轉帖)...
轉帖地址:http://blog.csdn.net/kongjiea/article/details/46829023 1、首先來一個自己公司專案的原始碼: 專案需求描述: 從20150712日開始, , 需求①:根據當前時間返回每一週 、週一~週日的日期(需返回2種格式 格式1:7月13日,格式2:201
JS獲取本週週一 週日日期、本季度、本月、上月的開端日期、停止日期
1、首先來一個自己公司專案的原始碼: 專案需求描述: 從20150712日開始, , 需求①:根據當前時間返回每一週 、週一~週日的日期(需返回2種格式 格式1:7月13日,格式2:2015-07-13) 需求②:返回當前時間本週的,週一早上9:00:00和週日的23:59
JS獲取本週、本季度、本月、上月、本年的開始日期、結束日期
/** * 獲取本週、本季度、本月、上月的開始日期、結束日期 */ var now = new Date(); //當前日期 var nowDayOfWeek = now.getDay(); //今天本週的第幾天 var nowDay = now.getDate(); //當
JS日期轉換格式 和 JS 獲取 今日、昨日、本週、本月、本季度、本年、上月、上週、上季度、去年
// 對Date的擴充套件,將 Date 轉化為指定格式的String // 月(M)、日(d)、小時(h)、分(m)、秒(s)、季度(q) 可以用 1-2 個佔位符, // 年(y)可以用 1-4 個佔位符,毫秒(S)只能用 1 個佔位符(是 1-3 位的數字) // 例子: // (new D
JS獲取本週、本季度、本月、上月的開端日期、停止日期
var getdate=function(){ var now = new Date(); //當前日期 var nowDayOfWeek = now.getDay(); //今天本週的第幾天 var nowDay = now.getDate();
JS 獲取 本週、本月、本季度、本年、上月、上週、上季度、去年
/** * 日期範圍工具類 */ var dateRangeUtil = (function () { /*** * 獲得當前時間 */ this.getCurrentDate = function () { return ne
獲取本週、本季度、本月、上月的開端日期、停止日期 當前日期
第一種方式 Date.prototype.Format = function (fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日
php 獲取時間(今天,昨天,三天內,本週,上週,本月,三年內,半年內,一年內,三年內) PHP獲取上週、本週、上月、本月、本季度、上季度時間方法大全
<?php date_default_timezone_set('PRC'); /** * 獲取最近一週,一個月,一年 * */ function getLatelyTime($type = ''){ $now = time(); $result = []; if
PHP獲取昨天、今天、上週、本週、上月、本月、上季度、本季度、今年的起始時間
//今天開始時間 $beginToday= date("Y-m-d H:i:s",mktime(0,0,0,date('m'),date('d'),date('Y'))); //今天結束時間 $endToday= date("Y-m-d H:
PHP獲取上週、本週、上月、本月、本季度、上季度時間方法大全
<?php echo date("Ymd",strtotime("now")), "\n"; echo date("Ymd",strtotime("-1 week Monday")), "\n"; echo date("Ymd",strtoti
oracle獲取本週、本月、本季度、本年度的第一天和最後一天
--本週select trunc(sysdate,'d')+1 from dual;--下週一select trunc(sysdate,'d')+7from dual; --本月select trunc(sysdate,'mm') from dual;select last_day(trunc(sy
Java獲取當天、本週、本月、本季度、本年等 開始及結束時間
package com.zhaochao.utils; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DataUill { public static
PHP獲取上周、本周、上月、本月、本季度、上季度時間
rto time mon body eas sta weekday 天數 echo echo date("Y-m-d",strtotime("now")); echo "<br>"; echo date("Y-m-d",strtotime("-1 wee
Java獲取當天、本周、本月、本季度、本年等 開始及結束時間
tps 結束 sdf gettime util imp public net ast package com.zhaochao.utils; import java.text.SimpleDateFormat; import java.util.Calenda
mysql 查詢當天、本周,本月,上一個月的數據
sql size 表名 BE 上年 時間 unix select 上一個 今天 select * from 表名 where to_days(時間字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NO
mysql 查詢當天、本周,本月,上一個月的數據---https://www.cnblogs.com/benefitworld/p/5832897.html
今天 from OS alt AS span cnblogs itl val mysql 查詢當天、本周,本月,上一個月的數據 今天 select * from 表名 where to_days(時間字段名) = to_days(now()); 昨天 SELEC
js獲取某周、某月、下月、某季度的開始日期、結束日期及判斷日期第幾周
weekend return n) nth 結束時間 value rst 獲得 set //格式化日期:yyyy-MM-dd function formatDate(date) { var myyear = date.getFullYear(); v
c#獲取當前時間的本週、本月、本季、本年的開始和結束時間
using System; public enum DataTimeType { Week, Month, Season, Year } public class DataTimeManager { /// <summary> ///
shell指令碼獲取昨天今天本週週一本週週日本月第一天本月最後一天
偶爾在linux上需要做指令碼,並設定指令碼按照日期來計算相關資料,這時候就涉及到日期的獲取,這裡介紹簡單的幾個重要日期的獲取,分別是昨天,今天是本週的第幾天,本週週一,本週週日,本月第一天,本月最後一天。 指令碼獲取日期並格式化,思路都是相同的,首先獲取日期,然後給出格式化表示式。 昨
Oracle 獲取本週、本月、本季、本年的第一天和最後一天(轉)
--本週 select trunc(sysdate, 'd') + 1 from dual; select trunc(sysdate, 'd') + 7 from dual; --本月 select trunc(sysdate, 'mm') from dual; sele