将日期变量传递给Javascript函数

时间:2018-08-23 09:11:04

标签: javascript laravel laravel-blade

我正在尝试查找两个日期之间的天数差异。 日期之一是当前日期,另一个日期是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”。 有人帮忙。

1 个答案:

答案 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。我已经对其进行了测试,并且对我有用。