cshtml:在不可编辑的文本框中以MM / dd / yyyy格式显示日期

时间:2016-05-12 09:47:11

标签: jquery date datetime datepicker

有一个带有datepicker的文本框(可编辑),用于选择用户加入的日期。我的任务是默认将所有新用户的加入日期设置为当前日期,对于旧用户,应显示用户加入的日期(这将从数据库中检索)。而且我必须将文本框设置为不可编辑的readonly。此外,我必须删除该文本框的日期选择器。我必须显示的日期格式是MM / dd / yyyy。我已经对代码进行了一些更改,现在删除了datepicker,我也可以显示日期,但不是以所需的格式显示,它显示为2016年5月10日星期二00:00:00 GMT + 0530(印度标准时间)。我需要像2016年12月5日那样展示它。

cshtml代码:

<input type="text" id="StartingDate" data-date-format="mm/dd/yyyy" data-bind="value: userInfo.StartingDate" readonly />

jscode:

function getStartingDate() {
      var defaultDate = userInfo.StartingDate() || new Date(new Date()).toDateString();

      StartingDateValue(defaultDate);

      $('#StartingDate').on('focusout', function () {
        var startingDate = StartingDateValue() || new Date();
        $('#StartingDate').val(StartingDate.toLocaleDateString());
      });
    }

我收到了正确的日期值,但格式不同。我试图从昨天开始修复它。但不可能。 你能指出哪里出错了吗?

要清楚,我的代码结果如下,

enter image description here

但我需要以这种格式进行展示,

enter image description here

任何建议都会有所帮助!

1 个答案:

答案 0 :(得分:1)

只需:)

尝试重建DateTime字符串,如下所示:

HTML:

<input type="text" id="yourDatepickerId"/>   <!--Here is your DateTime picker-->

JS:

var dateObj = document.getElementById("yourDatepickerId").value;  //<--Here is you get DateTime  value from picker

 var newDate = new Date(dateObj);
 var formattedString = [newDate.getMonth()+1,newDate.getDate(),newDate.getFullYear()].join("/");

 alert(formattedString ); //Result : mm/d/yyyy