簡體   English   中英

Laravel將數據庫中的字符串日期與Carbon日期進行比較

[英]Laravel compare string date in database with carbon date

我將日期存儲為VARCHAR並在數據庫中犯了一個錯誤,在這里看起來像02/12/2018,並且我使用carbon創建了一個變量來獲取當前日期+14天

$current_date_plus_14 = Carbon::now() -> addDay(14) -> format('d/m/Y');

問題是

我正在嘗試將此日期02/12/2018 (在數據庫中並將其存儲為VARCHAR)與我使用Carbon生成的日期09/04/2017進行比較

口才代碼

$gquery = Client::where('required_date', '>=', $current_date_plus_14) -> get();

我得到什么

它沒有得到任何結果,因為它只比較了required_date中的日期碳日期中的日期

因為有超過1年的差額所以應該返回價值嗎?

嘗試使用將日期轉換為字符串(可以與varchar一起使用)轉換為實際日期的函數

private function convertDateString($date)
{
    if (is_string($date)) {
        $date = Carbon::parse($date,new DateTimeZone('YOUR_DATE_TIME_ZONE'));
    }

    return $date;
}

即使您的字段是VARCHAR而不是DATETIMEDATE ,您仍然可以通過將屬性名稱添加到$dates來在Eloquent模型中將其標記$dates 由於您使用的是非Ymd H:i:s格式,因此您還必須更改模型的$dateFormat

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM