2012-10-24 45 views
-1

我不明白爲什麼這種情況正在發生不一致的strtotime

echo date('l F y',strtotime('next Tuesday',time())) . "\n"; 
echo date('l F y',strtotime('next Wednesday',time())) . "\n"; 
echo date('l F y',strtotime('next Thursday',time())) . "\n"; 
echo date('l F y',strtotime('next Friday',time())) . "\n"; 

給我

Tuesday October 12 
Wednesday October 12 
Thursday October 12 
Friday October 12 

爲什麼?

+4

你期望它給你什麼? – jrdn

+1

似乎與我一致。 –

+2

(提示:該字符串中的y表示該年的最後兩位數字,也許你想要d?) – jrdn

回答

6

您正在要求輸出星期幾,然後是月份,然後是年份的最後兩位數字,這就是它所做的。

查看日期格式字符列表及其含義的列表here

3

正如@jrdn表示,y是一年,因此,你所得到的下星期二等

對於日期使用這個年份:

echo date('l F d',strtotime('next Tuesday',time())) . "\n"; 
echo date('l F d',strtotime('next Wednesday',time())) . "\n"; 
echo date('l F d',strtotime('next Thursday',time())) . "\n"; 
echo date('l F d',strtotime('next Friday',time())) . "\n"; 

輸出:

Tuesday October 30 
Wednesday October 31 
Thursday October 25 
Friday October 26 
0

我想如果你加上d格式它會更清晰

echo date('d l F y',strtotime('next Tuesday',time())) . "\n"; 
echo date('d l F y',strtotime('next Wednesday',time())) . "\n"; 
echo date('d l F y',strtotime('next Thursday',time())) . "\n"; 
echo date('d l F y',strtotime('next Friday',time())) . "\n"; 

將O/P

30 Tuesday October 12 // next tuesday date since this week tuesday has already passed 
31 Wednesday October 12 // next wed date since this week wed has already passed 
25 Thursday October 12 // next thur date since this week thur is yet to pass 
26 Friday October 12 // next fri date since this week fri is yet to pass 

閱讀更多關於date()

0

檢查了這一點?

<?php 
$nexTuesday = date('l F y',strtotime('next Tuesday',time())) . "\n"; 
$nextWednesday = date('l F y',strtotime('next Wednesday',time())) . "\n"; 
$nextThursday = date('l F y',strtotime('next Thursday',time())) . "\n"; 
$nextFriday = date('l F y',strtotime('next Friday',time())) . "\n"; 

//Lets make date to time 

$nexTuesday = strtotime($nexTuesday); 
$nextWednesday = strtotime($nextWednesday); 
$nextThursday = strtotime($nextThursday); 
$nextFriday = strtotime($nextFriday); 

//If you have need for this, then echo the timestamp as 'l F y' like this: 

echo date('l F y',$nextFriday); 
?>