2017-03-06 80 views
-3

在PHP中,我使用getdate()yday將當前日期顯示爲某些用戶的數字。但它從0開始遞增,並且總是落後於實際的一天。例如,今天(3月6日)是65以PHP中的整數形式獲取當前日期

但除非我加1的值,如下,它會顯示64:

$today = getdate(); 
$timestamp = $today['yday']; 
$timestamp = $timestamp + 1; 

是否有東西,避免了上述的重新分配的需要?

+3

'一年的一天,數字表示\t 0到365'所以17年1月1日0 – JustOnUnderMillions

+0

閱讀手冊請:'yday - 一年中的日子的數字表示; 0到365' –

+0

是的,如果其他2條評論不夠「'yday」\t年的一天中的數字表示0到365' ___注意從零,所以'1月1 = 0',365只有當它是閏年 – RiggsFolly

回答

2

更短:echo date('z')+1;

正如其他人在評論中提到的那樣,日數的計數是零計數,所以它從0開始,這意味着你會得到一個你解釋的數字比你想要的小1,因此+1

2

我不認爲你可以避免加1,因爲它是零索引(0-365)。 因此,2016年1月1日爲0(實際 - 第1天),2016年12月31日爲365(實際爲366天)。

在加方可以將這些三線簡化爲這樣:

date("z")+1; 
相關問題