繁体   English   中英

年份动态更新-PHP

[英]Year dynamically into date — PHP

有谁知道如何将当前日期数据动态地加载到PHP中的日期中? 例如:年份,以自动更新。 我正在尝试以下方法而没有成功。

$nowDate = date('d/m/Y');
$cYear = date('Y');             
$dateBegin = DateTime::createFromFormat('d/m/Y', '01/01/'.$cYear);
$dateEnd = DateTime::createFromFormat('d/m/Y', '31/12/'.$cYear);

if ($nowDate >= $dateBegin && $nowDate <= $dateEnd)
{
  echo "is between";
} else {
    echo 'OUT!';
}

注意数据类型

string date ( string $format [, int $timestamp ] )
public static DateTime DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

进行相同的类型并进行比较。

$nowDate = date('d/m/Y');
$cYear = date('Y');

$dateBegin = DateTime::createFromFormat('d/m/Y', '01/01/'.$cYear);
$dateEnd = DateTime::createFromFormat('d/m/Y', '31/12/'.$cYear);

// change to DateTime type
$nowDate2 = DateTime::createFromFormat('d/m/Y', $nowDate) ;
echo $nowDate2->format('Y-m-d')."\n";
echo $dateBegin->format('Y-m-d')."\n";
echo $dateEnd->format('Y-m-d')."\n";

if ($nowDate2 >= $dateBegin && $nowDate2 <= $dateEnd)
{
  echo "is between";
} else {
    echo 'OUT!';
}

可以相互比较DateTime对象:

$dateNow = new DateTime();          
$dateBegin = new DateTime($dateNow->format('Y-01-01 00:00:00'));
$dateEnd = new DateTime($dateNow->format('Y-12-31 23:59:59'));

if ($dateBegin <= $dateNow && $dateNow <= $dateEnd) {
  echo "is between";
} else {
    echo 'OUT!';
}

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM