我將日期資訊作為星期存盤到我的 SQL 資料庫表中作為 varchar。示例:2022-W10 我想在本周結束這個季度。在我的示例中是 2022 年第 1 季度。PHP 中是否有任何可能性?我在 PHP date() 檔案中沒有找到任何關于此的內容。
uj5u.com熱心網友回復:
可以直接從諸如“2022-W10”之類的字串創建日期物件,并且可以使用格式方法確定月份。季度的計算只是一些學校數學。
$dateFromDb = '2022-W10';
$month = date_create($dateFromDb)->format('n');
$quarter = (int)(($month 2)/3); //int(1)
如果還需要年份,則可以使用此解決方案:
$dateFromDb = '2022-W49';
$dateTime = date_create($dateFromDb);
$quarter = (int)(($dateTime->format('n') 2)/3);
echo 'Quarter '.$quarter.' Year '.$dateTime->format('Y');
uj5u.com熱心網友回復:
我的意思是這個問題可以通過以下步驟來解決:
<?php
$date = '2022-W10';
// 1. parce year & week from string
preg_match('/(\d{4})-W(\d )/', $date, $matches);
$year = $matches[1];
$week_no = $matches[2];
printf('Year: %d, Week no.: %d' . PHP_EOL, $year, $week_no);
// 2. create date by year & week number
$week_start = new DateTime();
$week_start->setISODate($year, $week_no);
// 3. get month number from date
$month = $week_start->format('n');
printf('Month: %d' . PHP_EOL, $month);
// 4. get quarter
$quarter = ceil($month/3);
printf('Quarter: %d' . PHP_EOL, $quarter);
在線測驗PHP日期轉換
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/447530.html
上一篇:更改格式日期,并可以在vb.net中以空白或零在文本框中更新
下一篇:查找過去四個星期天的日期
