我正在尝试查找两个日期之间的天数差异。 日期之一是当前日期,另一个日期是php变量传递给视图页面的日期。当我尝试显示日期时,它显示无效的日期。
下面是代码:
function checkcurrent()
{
var last_date= new Date( {!! json_encode($medic->end_day) !!});
var new_last_date = new Date(last_date.getFullYear(),last_date.getMonth(),last_date.getDate());
var diff = parseInt((new_last_date - today) / (1000 * 60 * 60 * 24));
window.alert(last_date);
}
当我仅显示{!! json_encode($medic->end_day) !!}
时,它将在警报窗口中显示日期。但是当我将其传递给Date()时,它不会被转换。
在警报框中显示last_date时,它显示无效日期。为什么?
顺便说一句,即时消息传递的日期格式为“ 23/08/2018”,即“ d / m / Y”。
有人帮忙。
答案 0 :(得分:1)
尝试此代码。
function checkcurrent()
{
var today = new Date();
var last_date= new Date('{{ \Carbon\Carbon::createFromFormat('d/m/Y', $medic->end_day)->toDateString() }}');
var new_last_date = new Date(last_date.getFullYear(),last_date.getMonth(),last_date.getDate());
var diff = parseInt((new_last_date - today) / (1000 * 60 * 60 * 24));
window.alert(last_date);
}
我将您的日期$medic->end_day
转换为格式Y-m-d
。我已经对其进行了测试,并且对我有用。