我想做一個函式來輸出這樣的結果:
//Assuming that today is 2022-01-20
parse_date("2022-01-20") //Today
parse_date("2022-01-19") //Yesterday
parse_date("2022-01-18") //Tuesday
parse_date("2022-01-17") //Monday
parse_date("2022-01-16") //Sunday
parse_date("2022-01-15") //2022-01-15
這個想法是顯示Today日期是否是今天,Yesterday如果日期是昨天,如果日期在當前一周內,則顯示作業日名稱以及Y-m-d其他任何內容。我擁有的當前代碼如下:
public function parse_date($date) {
$carbonDate = Carbon::parse($date);
if($carbonDate->isToday()) return "Today";
if($carbonDate->isYesterday()) return "Yesterday";
$now = Carbon::now();
$start = $now->startOfWeek(CarbonInterface::SUNDAY)->copy();
if($carbonDate >= $start && $carbonDate <= $now->endOfWeek()) {
return $carbonDate->format('l');
}
return $carbonDate->format('Y-m-d');
}
我想知道的是是否有更好的方法可以使用其他碳函式來做到這一點。
uj5u.com熱心網友回復:
另一種方法是檢查周,并將其與當前周進行比較。首先仔細檢查這些值以確保它有效,或者如果您需要更改語言環境,請使用Carbon::parse($date)->locale('en_US');
public function parse_date($date) {
$carbonDate = Carbon::parse($date);
if($carbonDate->isToday()) return "Today";
if($carbonDate->isYesterday()) return "Yesterday";
if($carbonDate->week == Carbon::now()->week) {
return $carbonDate->format('l');
}
return $carbonDate->format('Y-m-d');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/414499.html
標籤:
上一篇:將包含日期的字串轉換為日期
下一篇:在R中將字串轉換為日期格式
