有一个带有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());
});
}
我收到了正确的日期值,但格式不同。我试图从昨天开始修复它。但不可能。 你能指出哪里出错了吗?
要清楚,我的代码结果如下,
但我需要以这种格式进行展示,
任何建议都会有所帮助!
答案 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