我使用WordPress作为我的CMS。 我想检查我的一些用户是否在本周过生日。 没有成功。
这是我的代码
$fd = date("Y-m-d",strtotime('monday this week'));
$ld = date("Y-m-d",strtotime("sunday this week"));
$cdate = date('m-d',time());
if (($cdate >= $fd) && ($cdate <= $ld)) {
echo 'true';
} else {
echo 'false';
}
这对我来说是假的 如果我使用
'm-d' in $cdate variable
如果使用Y-m-d,它可以正常工作 但在这种情况下,年份应该是相同的,因为所有人都有不同的出生年份
答案 0 :(得分:11)
这是我的方式
要找到它,你可以这样做
第1步:
查找本周的开始和最后一天
$FirstDay = date("Y-m-d", strtotime('sunday last week'));
$LastDay = date("Y-m-d", strtotime('sunday this week'));
第2步:
查看给定日期是否在本周的开始日期和最后一天之间
if($Date > $FirstDay && $Date < $LastDay) {
echo "It is Between";
} else {
echo "No Not !!!";
}
如果
Yes
,那么它属于ElseNot
所以,最后你要拥有的代码是
<?php
$Date = "2015-06-01"; #Your Own Date
$Date = date('Y-m-d'); #Or Current Date Fixed here
$FirstDay = date("Y-m-d", strtotime('sunday last week'));
$LastDay = date("Y-m-d", strtotime('sunday this week'));
if($Date > $FirstDay && $Date < $LastDay) {
echo "It is Between";
} else {
echo "No Not !!!";
}
?>
注意
您可以拥有自己的开始日,即Sunday
或Monday
您可以拥有自己的日期或当前日期
答案 1 :(得分:4)
您可以使用格式参数W
,它将为您提供当年弱势数(日历周)的数量。
if(date("W") == date("W", $birthday)){
// User has birthday this week
}
$birthday
必须是时间戳。也许你必须使用$birthday = strtotime($birthdate);
。
答案 2 :(得分:0)
在我看来,最简单的解决方案是将字符串传递给日期并将它们保存为数字,如本例所示:
$fd = strtotime('monday this week'); // First date
$ld = strtotime('sunday this week'); // last date
$birthday_date = strtotime('YYYY-mm-dd'); // Birthday date
if (($birthday_date > $fd) && ($birthday_date < $ld)) {
echo 'true';
} else {
echo 'false';
}
当然,您必须将生日年份更改为当前年份。
答案 3 :(得分:0)
理查德的回答很明显。只为那些到达这篇文章的人寻找如何检查一周是相同的,并检查年份是否相同;这也将检查它们不仅在一年中的同一周,而且也在同一年。
$testData = "1447672336";
if((date("W") == date("W", $testData)) && (date("Y") == date("Y", $testData))){
// The timestamp in $testData is the same week of the same year as today is.
}