js日期計算及快速獲取周、月、季度起止日,獲取指定日期週數以及星期幾的小例子
轉載地址:https://www.cnblogs.com/laneyfu/p/5028916.html
// 通過週數和星期計算日期
//2017年1月1日是星期日,算第一週,1月2日週一算是第二週
function dateFromWeek(year, week, day){ //year 年 //week 周 //day 星期 (1-7, 7代表週日) var date1 = new Date(year, 0, 1); var dayMS = 24*60*60*1000; var xq=date1.getDay(); var result=0 if(xq==0){ if(week!=1){ var weekMS = (week-2)*7*dayMS; result = date1.getTime()+weekMS+day*dayMS; }else{ result = date1.getTime()-(7-day)*dayMS; } }else{ var firstDay = xq*dayMS; var weekMS = (week-1)*7*dayMS; result = date1.getTime()+weekMS+day*dayMS-firstDay; } date1.setTime(result); return date1; }
JS獲取日期時遇到如下需求,根據某年某周獲取一週的日期。如開始日期規定為星期四到下一週的星期五為一週。
格式化日期:
function getNowFormatDate(theDate) { var day = theDate; var Year = 0; var Month = 0; var Day = 0; var CurrentDate = ""; // 初始化時間 Year= day.getFullYear();// ie火狐下都可以 Month= day.getMonth()+1; Day = day.getDate(); CurrentDate += Year + "-"; if (Month >= 10 ) { CurrentDate += Month + "-"; } else { CurrentDate += "0" + Month + "-"; } if (Day >= 10 ) { CurrentDate += Day ; } else { CurrentDate += "0" + Day ; } return CurrentDate; } 複製程式碼
// 獲取日期範圍顯示
function getDateRange(_year,_week){ var beginDate; var endDate; if(_year == null || _year == '' || _week == null || _week == ''){ return ""; } beginDate = getXDate(_year,_week,4); endDate = getXDate(_year,(_week - 0 + 1),5); return getNowFormatDate(beginDate) + " 至 "+ getNowFormatDate(endDate); }
// 這個方法將取得某年(year)第幾周(weeks)的星期幾(weekDay)的日期
function getXDate(year,weeks,weekDay){
// 用指定的年構造一個日期物件,並將日期設定成這個年的1月1日
// 因為計算機中的月份是從0開始的,所以有如下的構造方法
var date = new Date(year,"0","1");
// 取得這個日期物件 date 的長整形時間 time
var time = date.getTime();
// 將這個長整形時間加上第N周的時間偏移
// 因為第一週就是當前周,所以有:weeks-1,以此類推
// 7*24*3600000 是一星期的時間毫秒數,(JS中的日期精確到毫秒)
time+=(weeks-1)*7*24*3600000;
// 為日期物件 date 重新設定成時間 time
date.setTime(time);
return getNextDate(date,weekDay);
}
// 這個方法將取得 某日期(nowDate) 所在周的星期幾(weekDay)的日期
function getNextDate(nowDate,weekDay){
// 0是星期日,1是星期一,...
weekDay%=7;
var day = nowDate.getDay();
var time = nowDate.getTime();
var sub = weekDay-day;
if(sub <= 0){
sub += 7;
}
time+=sub*24*3600000;
nowDate.setTime(time);
return nowDate;
}
js獲取當前指定的前幾天的日期
function getBeforeDate(n){
var n = n;
var d = new Date();
var year = d.getFullYear();
var mon=d.getMonth()+1;
var day=d.getDate();
if(day <= n){
if(mon>1) {
mon=mon-1;
}
else {
year = year-1;
mon = 12;
}
}
d.setDate(d.getDate()-n);
year = d.getFullYear();
mon=d.getMonth()+1;
day=d.getDate();
s = year+"-"+(mon<10?('0'+mon):mon)+"-"+(day<10?('0'+day):day);
return s;
}
console.log(getBeforeDate(1));//昨天的日期
console.log(getBeforeDate(7));//前七天的日期
不能把1月1號當作第一週的第一天,通常是每年的第一個星期一為第一週的第一天。修改getXDate方法如下
$.getXDate = function (year, weeks, weekDay) {
// 用指定的年構造一個日期物件,並將日期設定成這個年的1月1日
// 因為計算機中的月份是從0開始的,所以有如下的構造方法
//每年第一週從第一個星期一開始
var date = new Date(year, "0", "1");
var firstday = date.getDay()
if (firstday > 1)
date = new Date(date.valueOf() + (8 - firstday) * 24 * 60 * 60 * 1000);
// 取得這個日期物件 date 的長整形時間 time
var time = date.getTime();
// 將這個長整形時間加上第N周的時間偏移
// 因為第一週就是當前周,所以有:weeks-1,以此類推
// 7*24*3600000 是一星期的時間毫秒數,(JS中的日期精確到毫秒)
time += (weeks - 1) * 7 * 24 * 3600000;
// 為日期物件 date 重新設定成時間 time
date.setTime(time);
return $.getNextDate(date, weekDay);
}
相關推薦
js日期計算及快速獲取周、月、季度起止日,獲取指定日期週數以及星期幾的小例子
轉載地址:https://www.cnblogs.com/laneyfu/p/5028916.html // 通過週數和星期計算日期 //2017年1月1日是星期日,算第一週,1月2日週一算是第二週 function dateFromWeek(year,
js獲取當前系統時間的前幾小時、天、周、月、年
**.js $(function(){ }); var oneJsTest={ //以當前系統時間作為結束時間,return不同時間範圍de開始時間 reqShebeiDataByShebeiAndTimeQueryByDifferentTime:func
js計算指定時間所在周、月、季度、半年、全年
//獲取指定日期whereTheTime的所在周、月、季度、半年、全年 //type為1:周,2:月,3:季度,4:半年,5:全年 function computTimeHorizon(whereTheTime,type){ var d = new Date(whereTheTime);
mysql中如何獲取年、月、日及本週是一年中的第幾周??
select year(curdate()),month(curdate()),day(curdate()); select weekofyear(curdate()); 有點細微的差別,weekofyear(date)相當於week(date,3). 下面是week(d
Mysql 日期計算相差年、月、周、日數整理
1、相差年數 SELECT NOW() 當前日期, DATE_ADD(NOW(), INTERVAL - 400 DAY) 歷史日期, TIMESTAMPDIFF( YEAR, DATE_ADD(NOW(), INTERVAL - 400 DAY
C# 根據當前時間計算周、月、季度、年的換算及注意事項
public static void ShowTime() { /* * 根據當前時間進行時間段轉換: * 本週、下週、上週 *
java-計算任意日期所在周、月、年的第一天與最後一天
package com.slk.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.D
獲取選擇的當前天、周、月、年的時間段
日期格式化 sta ret date fwe 設置 .info || ted /** * Created by Administrator on 2017/5/6. */ /** * options:{"type":2,"date":"2017-5-6","conn
js獲取指定Date的週一、周天、月、季度、半年、年
//獲取當前周從星期一到星期天的日期 function getDates(date) { var currentDate = new Date(date); var timesStamp = currentDate.getTime();
Java 處理日期年、月、日、周加減運算
1.java 日期加減運算 GregorianCalendar gc = new GregorianCalendar(); //java中對日期的加減操作 gc.add(1,-1);//表示年份減一. gc.add(2,-1);//表示月份減一. gc.add(3,-1);//表示周減一
Java根據傳入Date計算所在周、月、季度時間
package com.rdmu.schedulingmeetingplace.common; import org.hibernate.annotations.SourceType; import java.text.ParseException; import java
C/C++練習題 定義一個日期變數,進行年、月、日的輸入,計算該日期是本年中的第幾天。
問題及程式碼:/* *Copyright(c)2016,煙臺大學計算機與控制工程學院 *All right reserved. *檔名稱:main.cpp *作 者:郝昱猛 *完成日期:2016年4月28日 *版 本 號:v1.0 * *問題描述:.定
sql server 中的日期計算,如當天周的第一天,當前月的第一天
根據給定的日期,計算該日期在本月所在週數,每週的第一天為週日。但是在月末需要與下個月進行銜接,如 圖2012年2月份,3月份的1、2、3號為2月份的第4周。而2月份的1、2、3、4為1月份的最後一週(第五週)。 declare @datetime varchar(50) select
用js獲取當前的時間包括年、月、日、時、分、秒
程式碼如下: <script> function CurentTime() { var now = new Date();
根據指定日期獲取周,月,年的開始和結束時間
/*** 獲取本週的第一天日期和最後一天日期(按中國周)* @param todayTime :"2017-03-15"* @return arr[0] 第一天日期 ;arr[1]最後一天日期* @throws ParseException*/public static S
ORACLE取周、月、季、年的開始時間和結束時間
mil nth spa direction light 4.5 oracl afr oracle 1 取周的開始時間和結束時間 取周的開始時間。以星期一為開始。 SQL>S
Python 按當前日期(年、月、日)創建多級目錄的方法
rsquo else 8.4 指定 ont nth pytho 日期 想要 先看實際效果,現在時間2018.4.26 使用python腳本按照年月日生成多級目錄,創建的目錄可以將系統生成的日誌文件放入其中,方便查閱,代碼如下: #!/usr/bin/
練習四:日期計算(輸入某年某月某日計算出這一天是該年第幾天的方法)
nbsp style 內置 練習 day pan and error == 實現輸入某年某月某日計算出這一天是該年第幾天的方法方法一:笨辦法 1 list_day = [0,31,28,31,30,31,30,31,31,30,31,30,31] 2 year
獲取周,月,年的起始和結尾
訂單查詢需要,所以記錄一下。 /** * @param $zone 周 月 年 按需求更改 * @param int $interval 間隔值 * @param bool $tillnow 是否截止到現在 * @return array
Struts2自定義轉換器輸入生日日期輸出年、月、日、年齡
BirthAction.java package com.action; import java.util.Calendar; import java.util.Map; import com.bean.Birth; import com.opensymphony.xwor