2016-06-21 25 views
0

想要獲得2種不同格式的日期輸出。這是我目前所擁有的。Javascript - 如何獲取所需格式的日期?

<p id="demo"></p> 

<script> 
var d = new Date(day, month); 
document.getElementById("demo").innerHTML = d.toString(); 
</script> 

不適用於我。

有了這個代碼,我希望得到如下的輸出:6月21日

也想知道如何在這種格式獲取日期:

2016年6月21日上午12:00

+3

提示 - 查看'moment.js' - 它完成了所有這些工作 - 使用javascript解析日期並不好玩! –

回答

0
var months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 
var h = d.getHours(); 
var ap = "AM"; 
if (h > 12) { 
    h-=12; 
    ap = "PM"; 
} 
var dateString = months[d.getMonth()] + " " + d.getDate() + ", " + d.getFullYear() + " " + h + ":" + d.getMinutes() + " " + ap; 
+0

如果您試圖在服務器上格式化日期解析器,我建議使用Ticks(d.getTime())並將其轉換爲服務器上的日期。它更具體,更不容易出現小的格式錯誤。 –

0
var d = new Date(); 
var months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 
var h = d.getHours(); 
var ap = "AM"; 
if (h > 12) { 
    h-=12; 
    ap = "PM"; 
} 
var dateString = months[d.getMonth()] + " " + d.getDate() + ", " + d.getFullYear() + " " + h + ":" + d.getMinutes() + " " + ap; 
document.getElementById("demo").innerHTML = dateString.toString(); 

試試這個。

0

JavaScript沒有格式化日期的功能,因此您必須手動執行此操作。您可以使用此代碼,你的第一個格式:

<p id="demo"></p> 
 

 
<script> 
 
    var d = new Date(2016, 5, 21); 
 
    document.getElementById("demo").innerHTML = getMonthName(d.getMonth()) + " " + d.getDate(); 
 

 
    function getMonthName(month) { 
 
    var monthnames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; 
 
    return monthnames[month]; 
 
    } 
 
</script>

您可以添加代碼,做你想做的任何其他格式。但是,您很快就會意識到爲什麼我們有許多庫用於此目的。所以,不要重新發明輪子,只使用其中一個庫。

相關問題