亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

碳日期比較和日期格式

碳日期比較和日期格式

PHP
烙印99 2024-01-19 17:06:29
我正在嘗試以下操作:我正在開發一個函數來比較以下格式的兩個日期:$date = "Mon Sep 14 2020 02:07:25 GMT+0000 (Coordinated Universal Time)";該函數如下(它有一些用于我的測試的額外代碼):private function isMoreRecent($newVariation, $oldVariation) {    // dates for testing:    $newVariation = "Mon Sep 14 2020 02:07:25 GMT+0000 (Coordinated Universal Time)";    $oldVariation = "Sun Sep 13 2020 12:02:49 GMT+0000 (Coordinated Universal Time)";    // dates for testing:    // date: 2020-09-14 02:07:25.0 UTC (+00:00)    $newVariationFormat = $this->reformatDate($newVariation);       // date: 2020-09-13 12:02:49.0 UTC (+00:00)    $oldVariationFormat = $this->reformatDate($oldVariation);        if ($newVariationFormat->toDateString() < $oldVariationFormat->toDateString()) {        dd('holaaa');        return true;    }    return false;}“reformatDate”是將字符串日期轉換為 Carbon 類型的函數,如下所示:private function reformatDate($date) {    $month = substr($date, 4, 3);    $month = intval($this->getMonthNumber($month));    $day = intval(substr($date, 8, 2));    $year = intval(substr($date, 11, 4));    $hour = substr($date, 16, 2);    $minutes = substr($date, 19, 2);    $seconds = substr($date, 22, 2);    return Carbon::create($year, $month, $day, $hour, $minutes, $seconds);}其中 getMonthNumber():private function getMonthNumber($month) {    $monthKeyValues = [        '1' => 'Jan',        '2' => 'Feb',        '3' => 'Mar',        '4' => 'Apr',        '5' => 'May',        '6' => 'Jun',        '7' => 'Jul',        '8' => 'Ago',        '9' => 'Sep',        '10' => 'Oct',        '11' => 'Nov',        '12' => 'Dec',    ];    return array_search($month, $monthKeyValues);}
查看完整描述

2 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

最近的日期大于較早的日期。所以你必須改變比較的方向。

為什么不直接比較 Carbon 對象而不是將它們轉換為字符串?嘗試這個

if ($newVariationFormat->greaterThan($oldVariationFormat))

前面的代碼通常應該返回 true;


查看完整回答
反對 回復 2024-01-19
?
LEATH

TA貢獻1936條經驗 獲得超7個贊

Carbon 對象還可以與標準運算符進行比較:

if ($newVariationFormat > $oldVariationFormat)

并且您重新格式化Date可以縮短:

private function reformatDate($date) {
    return Carbon::parse(preg_replace('/\s+\(.*\)$/', '', $date));
}


查看完整回答
反對 回復 2024-01-19
  • 2 回答
  • 0 關注
  • 157 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號