2010-09-30 112 views

回答

4

var myDate = new Date(parseInt(YYYY,10), parseInt(MM,10)-1, parseInt(DD,10));

注意,所提供的日期構造月份是實際月份數 - 1

編輯:好的,也有一些問題,你的日期部分萃取 - substring可能是最讓人尷尬的是JavaScript的子串方法(sub,substr,substring)。經過測試,我認爲月份值必須比實際值少1。這是一個固定的樣本。

var from_date = "20101127"; //document.getElementById('from_date').value; 
var YYYY = from_date.substring(0, 4); 
var MM = from_date.substring(4, 6); 
var DD = from_date.substring(6); 
var myDate = new Date(parseInt(YYYY, 10), parseInt(MM, 10) - 1, parseInt(DD, 10)); 
alert(myDate); // should be november 27th 2010 
+0

我以爲肯定你也必須-1這個月,但在我的測試結果是不真實的! – 2010-09-30 15:25:31

+0

這就是它在IE8中的工作方式(我現在必須測試)。 '警報(新日期(79,5,24))''說1979年6月24日。 – lincolnk 2010-09-30 15:33:23

+0

男人,我不知道谷歌Chrome究竟是怎麼回事,但它給了嚴重不一致的結果。 – 2010-09-30 16:40:20

0

這很容易,我努力解決同樣的問題,但想出了一個更簡單的方法。 創建一個隱藏的div標籤並將日期設置爲屬性。然後檢索屬性並使用子字符串方法得到類似Mar 01的東西。

 <div id="test" style="display:none;" date=""></div> 
    <script type="text/javascript"> 
    var date = new Date(); 
    document.getElementById('test').setAttribute('date',date); 
    var getdate = document.getElementById('test').getAttribute('date'); 
    var newdate = getdate.substr(4,7); 
    alert(newdate); 
    </script> 

這都是謝謝! 查看我的操作系統:hypertos(dot)webege(dot)com

相關問題