[英]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
而不是DATETIME
或DATE
,您仍然可以通過將屬性名稱添加到$dates
來在Eloquent模型中將其標記$dates
。 由於您使用的是非Ymd H:i:s
格式,因此您還必須更改模型的$dateFormat
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.