Jquery 如何从Ajax响应在输入类型Date中显示日期?

Jquery 如何从Ajax响应在输入类型Date中显示日期?,jquery,ajax,date,datetime,model-view-controller,Jquery,Ajax,Date,Datetime,Model View Controller,我的控制是 <input type="date" id="DecDate" name="birthday"> 当我尝试更新同一条记录时,我会根据来自Ajax的json格式的响应将其填充到“DecDate”中 我试过这个 $('#DecDate').val(response.DecisionDate); 它没有告诉我任何日期 I警报响应它显示的日期与“/date(158377600000)/”相同 我不知道为什么它在警戒状态下显示不同,我应该如何控制它 编辑: 这是同一时间,但显示

我的控制是

<input type="date" id="DecDate" name="birthday">
当我尝试更新同一条记录时,我会根据来自Ajax的json格式的响应将其填充到“DecDate”中

我试过这个

$('#DecDate').val(response.DecisionDate);
它没有告诉我任何日期

I警报响应它显示的日期与“
/date(158377600000)/
”相同

我不知道为什么它在警戒状态下显示不同,我应该如何控制它

编辑:


这是同一时间,但显示在时代。 您可以使用下面的,

使用新日期(值)将其转换为日期对象

如果需要,请遵循此操作


HTML5日期控件使用的日期格式类似于
yyyy-mm-dd
。所以,这可能是这里的问题之一。因此,您可以将
DecisionDate
转换为Date对象,并获得适当的日期格式以显示在控件中,如:

const d = new Date(response.DecisionDate.match(/\d+/)[0] * 1);
const formattedDate = d.getFullYear()+'-'+("0"+(d.getMonth()+1)).slice(-2)+'-'+("0"+d.getDate()).slice(-2)
$('#DecDate').val( formattedDate );
演示:

const decisionDate='/Date(158377600000)/';
const d=新日期(decisionDate.match(/\d+/)[0]*1);
常量formattedDate=d.getFullYear()+'-'+(“0”+(d.getMonth()+1)).slice(-2)+'-'+(“0”+d.getDate()).slice(-2)
$('DecDate').val(formattedDate)

因此,关于您的场景,您可以使用它作为一个非常好的库,在
JavaScript
中解析、验证、操作和显示日期和时间。请参考以下示例:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<div id="date"></div>
<script type="text/javascript">
//var DecisionDate='3/10/2020 12:00:00 AM';
var DecisionDate='March 11 2020 12:00:00 AM';
var d=moment(DecisionDate).format('MM/DD/YYYY h:mm:ss a');
$("#date").text(d);     
alert(d);
</script>

//var决策日期='2020年10月3日12:00:00 AM';
var决策日期='2020年3月11日12:00:00 AM';
var d=时刻(DecisionDate)。格式('MM/DD/YYYY h:MM:ss a');
$(“#日期”)。正文(d);
警戒(d);
注意:您需要通过本地安装或使用演示中提供的CDN链接来引用
moment.js
文件


工作演示:

i单击以下链接,他们正在将其更改为某种日期格式。我需要用响应填充我的日期控件value@palash感谢您的回复,但我在使用上述代码“指定值”南安安安不符合所需格式“yyyy-MM-dd”时遇到此异常。您能否分享一下
console.log(response.DecisionDate)
&
console.log(type of response.DecisionDate)
正在控制台中显示?@palash consol.log showing/Date(15837870000)/value您的日期似乎是json格式的。请尝试第一部分中的更新代码。
const d = new Date(response.DecisionDate.match(/\d+/)[0] * 1);
const formattedDate = d.getFullYear()+'-'+("0"+(d.getMonth()+1)).slice(-2)+'-'+("0"+d.getDate()).slice(-2)
$('#DecDate').val( formattedDate );
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<div id="date"></div>
<script type="text/javascript">
//var DecisionDate='3/10/2020 12:00:00 AM';
var DecisionDate='March 11 2020 12:00:00 AM';
var d=moment(DecisionDate).format('MM/DD/YYYY h:mm:ss a');
$("#date").text(d);     
alert(d);
</script>