2015-12-11 160 views
2

請查看小提琴here如何從輸入日期獲取自定義格式輸出?

我有一個文本框,將一個日期(格式爲12/11/2015)直接輸入到段落的'msg'佔位符中。

日期顯示很好。但是,我想獲得它下面的格式顯示 -

$("#get").click(function (e) { 
    e.preventDefault(); 
    $('#msg').html($('input:text').val()); 
    dateFormat: 'DD, MM d' 
}); 

所以,輸入當天的日期,如2015年12月11日將產生週五的結果,12月11日

...但它不工作。

我哪裏錯了?

+0

取看看['toLocaleString()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString),它可以完成你正在尋找的東西正確的選擇。請參閱[this](http://stackoverflow.com/a/21748457/798634)SO使用答案。 –

+0

@MattK - 一個很好的資源。謝謝你,先生! – webfrogs

回答

3

您可以使用JavaScript日期的方法以獲得所需的輸出格式。這裏是w3schools page參考,這裏是代碼得到輸出你想要的:

$("#get").click(function (e) { 
    e.preventDefault(); 
    var d = new Date($('input:text').val()); 
    var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]; 
     var day = days[d.getDay()]; 
    var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; 
    var month = months[d.getMonth()]; 
    var date = d.getDate(); 
    var output = day+", "+month+" "+date; 
    $('#msg').html(output); 
}); 

JSFiddle

0

試試這個

var date = $('#datepicker').datepicker({ dateFormat: 'dd-mm-yy' }).val(); 
+0

我更新了問題。我試圖讓輸出顯示爲** DD,MM d ** – webfrogs

1

沒有直接的方法從天然Date對象獲取月份名稱和日期名稱的字符串化版本。你需要保持月份名稱和日期名稱的數組,並從中查詢。

$(function(){ 
    $("#get").click(function (e) { 
     e.preventDefault(); 
     var fDate = getDateFormatted($('input:text').val()); 
     $('#msg').html(fDate); 
    }); 

});  

function getDateFormatted(dateString) 
{ 
    date = new Date(dateString); 
    var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']; 

var monthNames = ["January", "February", "March", "April", "May", "June", "July", 
        "August", "September", "October","November", "December"]; 

    var day=date.getDay(); 
    var dayName = days[day+1]; 
    var monthIndex = date.getMonth(); 
    var year = date.getFullYear(); 

return dayName + ', ' + monthNames[monthIndex+1] + ' ' + date.getDate(); 

} 

Here是工作示例。

+0

但是,我想顯示的輸出爲(示例)**星期五,12月11日**,所以我只是添加另一個變量和列表星期幾,然後在返回字符串中調用它? – webfrogs

+0

我在jsbin上看到了您的更新。這很有趣,但它是有道理的。 – webfrogs

+0

@webfrogs我更新了答案。看一看 – Shyju