[英]Get the “Right” Year of a Certain Date with PHP DateTime
我試圖將日期“YYYY / MM / DD”轉換為“YYYY / WW”格式,因此我可以存儲每周聚合數據,其結構如下
aggre_date(YYYY/WW) value id
但我發現了一個令人討厭的問題
$dateTime = new DateTime("2014-12-30");
echo $dateTime->format("Y-W")."\n";
$dateTime = new DateTime("2014-01-01");
echo $dateTime->format("Y-W")."\n";
結果與2014-01
完全相同,但前者應該是2015-01
。
有沒有辦法改善我的每周聚合數據設計或獲得“正確”的一年?
您需要使用o
作為ISO年份:
ISO-8601年份編號。 它具有與Y相同的值,除了如果ISO周數(W)屬於上一年或下一年,則使用該年代。 (在PHP 5.1.0中添加)
$dateTime = new DateTime("2014-12-30");
echo $dateTime->format("o-W")."\n";
$dateTime = new DateTime("2014-01-01");
echo $dateTime->format("o-W")."\n";
2015-01
2014-01
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.