嫩枝检查日期是圣诞节还是复活节

时间:2019-04-23 16:57:03

标签: symfony date twig

我得到了三个版本的应用程序徽标,每天一个,复活节一个,圣诞节一个。

我想创建一个可以在一年中的某些时段自动更改徽标的功能,但又不想让我每年更改日期的错误。

这是当前代码:

    <img id="app_logo" src="
         {% if date("2019-12-10 00:00:00") < date() and date("2019-12-26 23:59:59") > date() %}
                {{ asset('img/home/logo-white-christmas.png')}}
         {% elseif date("2019-04-10 00:00:00") < date() and date("2019-04-28 23:59:25") > date %}
                {{ asset('img/home/logo-white-easter.png')}}
         {% else %}
                {{ asset('img/home/logo-white.png')}}
         {% endif %}
    " class="img-fluid" style="max-width:280px"/>

3 个答案:

答案 0 :(得分:0)

我认为这对您有所帮助,因此,如果您不想在任何年份更改年份,可以尝试检查日期和月份

{% set now = date() %}

{% if  now | date('d-m') >= '10-12' and now | date('d-m') <= '26-12' %}
  <img id="app_logo" src="{{ asset('img/home/logo-white-christmas.png')}}" class="img-fluid" style="max-width:280px"/> 
{% elseif now | date('d-m') >= '10-04' and now | date('d-m') <= '28-04' %}
  <img id="app_logo" src="{{ asset('img/home/logo-white-easter.png')}}" class="img-fluid" style="max-width:280px"/>
{% else %}
  <img id="app_logo" src="{{ asset('img/home/logo-white.png')}}" class="img-fluid" style="max-width:280px"/>
{% endif %}

答案 1 :(得分:0)

恢复日期=>

$hapi = new HolidayAPI\v1('_YOUR_API_KEY_');

$parameters = array(
  // Required
  'country' => 'US',
  'year'    => 2016,
  // Optional
  // 'month'    => 7,
  // 'day'      => 4,
  // 'previous' => true,
  // 'upcoming' => true,
  // 'public'   => true,
  // 'pretty'   => true,
);

$response = $hapi->holidays($parameters);

Api holiday

创建一个实体以将日期存储在BDD中,您还可以创建一个Twig扩展名,将今天的日期与假日日期进行比较

答案 2 :(得分:0)

如果您为PHP安装启用了日历扩展名(通常已经启用),则可以访问easter_date()easter_days()。因此,您可以执行以下操作:

$easterSunday = easter_date();
$oneDayInSeconds = 24 * 60 * 60;
$showEasterLogoStart = $easterSunday - 7 * $oneDayInSeconds;
$showEasterLogoEnd = $easterSunday + 5 * $oneDayInSeconds;
$now = time();
$showEasterLogo = $showEasterLogoStart <= $now || $showEasterLogoEnd >= $now;

您可以将其传递给树枝,也可以将其作为树枝扩展使用。

请注意,easter_date()不使用PHP时区设置,而是使用TZ环境变量。您可以设置它,也可以使用easter_days()。也可以在文档本身中找到解决方法。