Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 时间日期计算错误输出_Php_Laravel_Laravel 5 - Fatal编程技术网

Php 时间日期计算错误输出

Php 时间日期计算错误输出,php,laravel,laravel-5,Php,Laravel,Laravel 5,我正在使用laravel 5.5计算天数并乘以价格 当我从下拉列表中选择日期时工作正常,但当我键入日期计算出错时,我不知道发生了什么 这是我的控制器 $pick = Carbon::parse($request->input('pickdate')); $drop = Carbon::parse($request->input('dropdate')); $lengthday = $pick->diffInDays($drop, false); $ptime = str_r

我正在使用laravel 5.5计算天数并乘以价格

当我从下拉列表中选择日期时工作正常,但当我键入日期计算出错时,我不知道发生了什么

这是我的控制器

$pick = Carbon::parse($request->input('pickdate'));
$drop = Carbon::parse($request->input('dropdate'));

$lengthday = $pick->diffInDays($drop, false);

$ptime = str_replace([' '], '', $request->pickuptime);
$dtime = str_replace([' '], '', $request->droptime);
$picktime = Carbon::parse($ptime);
$droptime = Carbon::parse($dtime);

$lengthmin = $picktime->diffInMinutes($droptime, false);
$car = Car::where('slug', $car)->firstorfail();

$cprice = $car->price;
if ($lengthmin >= '1') {
    $minprice = $car->price;
}
else
{
    $minprice = '0';
}
$price = $cprice*$lengthday+$minprice;

if ($price <= '0') {
    return back()->with('warning', 'Please Enter Valid Date & Time');
}
$pick=Carbon::parse($request->input('pickdate');
$drop=Carbon::解析($request->input('dropdate');
$lengthday=$pick->diffInDays($drop,false);
$ptime=str_replace(['','',$request->pickuptime);
$dtime=str_replace(['','',$request->droptime);
$picktime=Carbon::parse($ptime);
$droptime=Carbon::parse($dtime);
$lengthmin=$picktime->diffInMinutes($droptime,false);
$car=car::where('slug',$car)->firstorfail();
$cprice=$car->price;
如果($lengthmin>='1'){
$minprice=$car->price;
}
其他的
{
$minprice='0';
}
$price=$cprice*$lengthday+$minprice;
如果($price with('warning','请输入有效日期和时间');
}
这是我的看法

<div class="form-date-w3-agileits">
    <div class="form-agileits">
        <label>Pickup Date :</label>
    </div>
    <div class="form-agileits-2">
        <input type="date" name="pickupdate" style="width: 92%;
        outline: none;
        font-size: 0.9em;
        padding: 13px 10px;
        border: 1px solid #fff;
        font-weight: 100;
        -webkit-appearance: none;
        margin-bottom: 1.4em;
        background: rgba(0, 0, 0, 0.69);
        font-family: 'Amaranth', sans-serif;
        color: #bbb9b9;" required=""> 
    </div>  
    <div class="clear"> </div>            
</div>

取货日期:

在评论中,您说过只有在用户手动输入日期时才会出现问题。您需要使用验证规则允许用户只输入有效日期。例如:

'pickdate' => 'date',
'dropdate' => 'date',

然后,您将确保Carbon能够解析输入数据。

Typo?
$request->input('pickdate')
您的字段名为
pickupdate
如果您不告诉我们当它工作时输入什么,当它不工作时输入什么,那么很难帮助您…当有人从下拉列表中选择日期时,它工作正常。当有人从键盘键入日期时,它不工作尝试预订,这是因为用户以不同的格式输入日期吗@RiggsFolly我如何修复这个问题?我将当前日期添加为值,它修复了验证给我的错误