2012-10-24 28 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); 
?>