2011-01-31 65 views
-2

要求其中包含日期應該顯示當前日期+未來五天應該只計算工作日(週一至週五)當前日期和希望文本框顯示在一個文本框中 有人送我這個代碼 PLZ讓我知道如果任何說明日期函數來計算僅工作日

+0

你是什麼意思'那個日期意味着應該顯示當前日期+未來五年days',有沒有一個單一的一天或有獨立的日期多個盒子? – mhitza

+3

在計算器上的人,都非常願意幫助* *你拿出你的編程問題的解決方案。這個問題看起來更像你問別人寫吧,這往往令人反感。 (這也不清楚你要求它做什麼。) –

回答

2

目前尚不清楚你希望做的事情,但這些事情應該幫助:

  1. 您可以創建使用特定日期Date對象三參數構造函數:Date(year, month, date)其中year是全年(例如,2011),month是月數(0 = 1月),和date是月(1-28/29 /三十一分之三十零取決於)的日子。例如: -

    var dt = new Date(2011, 0, 31); // January 31st, 2011 
    
  2. 你可以告訴何日給定Date代表利用其getDay功能;返回一個數與0 =週日,1 =星期一,等:

    var day = dt.getDay(); 
    if (day == 6/*Saturday*/ || day == 0/*Sunday*/) { 
        // It's Saturday or Sunday 
    } 
    else { 
        // It isn't, it's a weekday 
    } 
    
  3. 可以提前一個Date實例的第二天,象這樣:

    dt = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate() + 1); 
    

    Date構造函數將處理包裝到下個月(也可能是一年)給你。

  4. 可以通過設定爲現場的DOM元素的value屬性設置文本字段的值。您可以通過幾種方式獲取DOM元素。一種方法是給元素的id屬性(必須是唯一的),然後使用

    var element = document.getElementById("idstring"); 
    

    ...來關注一下吧。

  5. 顯然需要一個循環來建立你的五個工作日列表。
0

這應該解決您的問題的一部分,至少在如何x天添加到日期,並跳過週末...

Date.prototype.addWeekDays = function(days) 
    { 
     var d = this; 
     var dow = d.getUTCDay(); 

     var daysToAdd = (dow + days < 6) ? days : days + 2; 

     return new Date(
     d.getUTCFullYear(), 
     d.getUTCMonth(), 
     d.getUTCDate() + daysToAdd, 
     d.getUTCHours(), 
     d.getUTCMinutes(), 
     d.getUTCSeconds(), 
     d.getUTCMilliseconds()); 
    }; 

例如:var d =新的日期(「2月5日2011" )addWeekDays(1); //這應該返回1(星期一)