2011-03-15 13 views
0

我有以下的javascript功能的Javascript調用setHours有

function DateIncrement(_Date,_Inc) 
{ 
    return (new Date((new Date(_Date)).setHours(_Inc*24,0,0,0))) 
} 

目的是通過_Inc天增加爲_DATE UTC + 2個時區意外行爲。 也能正常工作的所有時區,除了UTC + 2個時區(安曼,開羅,貝魯特等) 對於UTC + 2個時區不返回第二天。它將_Date設置爲24小時。

在此先感謝。

+0

在那裏有問題嗎? – 2011-03-15 13:01:31

+0

我猜他想知道如何使它適用於UTC + 2時區。順便說一下,時間數據會以這種方式丟失... – pimvdb 2011-03-15 13:04:29

回答

1

如果你想增加一個JS日期n天,爲什麼不使用setDate()

function DateIncrement(_Date,_Inc) 
{ 
    var date = new Date(_Date); 
    date.setDate(date.getDate() + _Inc); 
    return date; 
} 

...如果你真的需要將其設置到午夜,然後使用之後setHours()

+0

我也嘗試過我們的代碼。它給出了同樣的問題。 問題是僅用於UTC + 2時區的日期'Thu Mar 31 00:00:00 UTC + 0200 2011'。 函數返回'Thu Mar 31 23:00:00 UTC + 0200 2011',而不是'Thu Apr 1 00:00:00 UTC + 0200 2011'。 這是怎麼回事? 如何解決這個問題? – 2011-03-16 08:28:37

+0

@Rahul Chitale:不在我的電腦上,你是如何創建和輸出日期的?你有沒有嘗試不同的瀏覽器? – 2011-03-17 12:32:47