如何从输入日期获得自定义格式输出?

时间:2015-12-11 15:33:48

标签: javascript jquery input

请查看小提琴 here

我有一个文本框,可以将日期(格式为12/11/2015)直接输入到段落的“msg”占位符中。

日期显示得很好。但是,我试图让它以下列格式显示 -

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

因此,输入今天的日期,因为 12/11/2015 会产生 12月11日星期五

的结果

......但它不起作用。

我哪里错了?

4 个答案:

答案 0 :(得分:3)

您可以使用Javascript Date Methods获取所需的输出格式。以下是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

答案 1 :(得分: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是一个工作样本。

答案 2 :(得分:0)

试试这个

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

答案 3 :(得分:0)

您必须为jquery添加dateformat插件。 看一下 jQuery date formatting