1. 程式人生 > >從下拉框中選擇年份和該年的週數,計算出該周的開始日期和結束日期

從下拉框中選擇年份和該年的週數,計算出該周的開始日期和結束日期

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   <html xmlns="http://www.w3.org/1999/xhtml">  
<head>    
<title>js.Date.convertWeekNumberToFirstDate.html </title>    
<meta name="generator" content="editplus" />    
<meta name="author" content="

[email protected]" />    
<meta name="keywords" content="" />    
<meta name="description" content="" />  
</head>     
<body>    
<select id="sltYear"> </select>    
<select id="sltWeek"> </select>    
<span id="spnDate"></span>—<span id="lpnDate"></span>
<script type="text/javascript">    
<!-- 
$ = document.getElementById; 
var oYear = $("sltYear");  //從迴圈中獲取年份
var oWeek = $("sltWeek");  //從迴圈中獲取週數
var oDate = $("spnDate"); //週數對應的週一的日期
var lDate = $("lpnDate"); //週數對應的週五的日期
/*
*先獲取當前年份,然後當年分小於2020年時,迴圈獲取
*從2011年到2020年的一個數組
*/
for (var i=(new Date()).getFullYear(); 2000<= i <=2020; i++){   
oYear.add(new Option(i+"年", i)); 

/*
*迴圈獲取從第一週到第52周的一個數組
*/
for (var i=1; i <=52; i++)  {   
oWeek.add(new Option(i+"周", i)); 

/*  
* sYear: string, 年份;  
* sWeek: string, 週數;  
* startFromFirstMonday: boolean, 是否從每年第一天開始計算週數,  
* true: 從每年第一天開始計算週數;false: 從每年第一個週一開始計算週數。  
*/ 
function convertWeekNumberToFirstDate(sYear, sWeek, startFromFirstMonday)  {   
if (startFromFirstMonday == undefined)
 startFromFirstMonday = true;     
var weekIndex = 1;     
var year = parseInt(sYear);   
var week = parseInt(sWeek);     
var i = 1;   
var dFirstDate = new Date(year, 0, i);     
if (!startFromFirstMonday){    
   if (weekIndex  < week){     
      weekIndex++;    
   }else     
   return dFirstDate;   
   }     
   if (dFirstDate.getDay() != 1){    
   i += 7 - dFirstDate.getDay() + 1;    
   dFirstDate.setFullYear(year, 0, i);   
   }     
   if (weekIndex  < week){    
   i += 7*(week-weekIndex);    
   dFirstDate.setFullYear(year, 0, i);   
   }   
    return dFirstDate; 
}   
function displayDate()  {   
var dFirstDate = convertWeekNumberToFirstDate(oYear.value, oWeek.value);   
oDate.innerHTML = dFirstDate.getFullYear()+"-"+(dFirstDate.getMonth()+1)+"-"+dFirstDate.getDate(); 
lDate.innerHTML = dFirstDate.getFullYear()+"-"+(dFirstDate.getMonth()+1)+"-"+(dFirstDate.getDate()+4); 
}   
displayDate(); 
oYear.onchange = oWeek.onchange = displayDate;     
//-->   
</script>   
</body>  
</html>

執行結果如圖:

當選擇年份和週數的時候,後面的日期段會隨著對應變化

相關推薦

選擇年份計算開始日期結束日期

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   <h

pb編輯視窗控制的內容自動篩選並必須選擇正確欄位型別正確

dw 的 editchanged事件: ib_changed = true cb_update.enabled = true datawindowchild ldwc_dddw datawindowchild ldwc_dddw1 CHOOSE CASE dwo.nam

只顯示最初的值json返回array的交集

sel .text json down emp tno append length drop 首先我們可以遍歷dropdown var array = new Array(); $("#select option").each(function(j){ array[j]=

Js獲取當前選擇項的文字

 現在有一個Id為AreaId的下拉框,要獲取它當前選擇項的文字和值有以下方法: <span class="red">* </span> 地&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

JavaScript向select添加刪除元素

ont gravity cli 大神 sso -name doc jsb UNC JavaScript向select下拉框中添加和刪除元素 1、說明 a 利用append()方法向下拉框中添加元素 b 利用remove()方法移除下拉框中最後一個元素 2、

robotframework使用之 選擇

() $1 選擇 framework 但是 list tro key rom 選擇下拉框有幾種方式處理,首先在瀏覽器F12選擇下拉框 1. F12後看見下拉框的源碼是<option xxx> <select class="w_60" data-react

jquery 左右選擇

float center con charset lin ng- bsp head highlight html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /&g

在HTML怎樣實現超連接?

-h light targe 窗口 ext html中 http com tex 給你個例子自己改吧:<SELECT name="select" onchange="window.open(this.options[this.selectedIndex].value,

Robotframework選擇

Robotframework 下拉框 Robotframework下拉框的選擇用到的關鍵字為:1.Select form List其意思是從列表中選擇需要的值。例如:從該Options中選擇一個時間其帶的參數為:Arguments:[ locator | items]locator為該下拉框的定位,i

bootstrap select 選擇

itl boot span att 解決 時也 tle spa sele 情況:根據取得的值去選定select下拉框的選項。但不知為何每次根據select的id傳遞值過去了,也能取得對應的值,但是頁面上的select依然是下拉框第一個選項,但點擊下拉框時,會在對應的值有特殊

設定的選中項

點選設定按鈕下拉框隨機選中 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="

js獲取select的值

現在有一id為userType的下拉框,怎麼獲取選中的值: 1 使用者型別: 2 <select name="type" id="userType"> 3 <option value="0">請選擇</option> 4 <option v

JavaScript解決select的內容太長顯示不全的問題

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

selenium python選取的值

https://stackoverflow.com/questions/47689936/unable-to-scroll-and-select-desired-year-from-calender-in-webdriver-python Year1990 = driver.find_element_by_

可以實現複選

(1)要實現的介面形式如下: 下面是jsp頁面中的寫法: <!-- 下面是下拉框中含有複選框。要是能夠傳值,必須重寫easyui——combox,用js新增複選框--> <tr> <td

jQuery外掛實現select左右選擇_交換內容(multiselect2side) 的一些網站 (有時間整理)

http://blog.csdn.net/mexican_jacky/article/details/51151495 http://blog.csdn.net/nihaoma71121/article/details/50971672 http://www.t

獲取的值

1、下拉選如圖所示,支援模糊查詢,使用的是select2外掛。 2、前臺程式碼如下所示: <td class="title-query">任務狀態:</td>  <td class="input-query" nowrap>    

ajax非同步請求的list集合怎麼迴圈新增到select

在jsp頁面中,通過非同步請求,返回的list集合,需要迴圈新增到select下拉框中,如下:$("#fundCode").change(function(){ var fundCode = $(this).val(); var financeAcc = $("#financ

jquery---如何獲取select當前選擇的文字

<select name="area" id="areaid"> <option value="">--請選擇--</option> <option valu

jq程式碼學習12---左右選擇

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xh