2015-07-19 1 views
1

Я живу в Бельгии, и я ищу, как изменить часовой пояс в PHP в зависимости от даты года.Переменный часовой пояс

С 30 марта по 25 октября часовой пояс UTC + 2.00 с 26 октября по 29 марта - UTC + 1.00.

Пользователь поставил дату (где мероприятие будет забронировано).

Формат этой даты ГМД (например, 2015-07-07)

<?php 
$date = $_POST['date']; 
$sDate= date('m-d', strtotime($date)); 
$SummerStart = date('m-d', strtotime("03-30")); 
$SummerEnd = date('m-d', strtotime("10-26")); 

if (($sDate > $SummerStart) && ($sDate < $SummerEnd)) 
{ 
    echo "Between"; 
} 
else 
{ 
    echo "Not between"; 
} 
?> 

Чтобы изменить часовой пояс в летнее время от UTC + 2,00 до UTC + 01.00 мне нужно проверить, если дата (месяц и день), заданный пользователем, находится между двумя значениями.

Как это сделать?

ответ

1

Я считаю, что вы определяете время в неправильном направлении, пытаясь напечатать свои varaiables, дает следующие значения:

echo "SummerStart -->".$SummerStart ." SummerEnd -->".$SummerEnd; 

SummerStart -> 12-31 SummerEnd -> 12-31

12-31 является признаком РНР, что-то не так с вашей даты логики

Но это должно работать для вас:

$date = date('m-d', strtotime($_POST['date']); 
$summer_start = date('m-d', strtotime("0000-03-30")); 
$summer_end = date('m-d', strtotime("0000-10-26")); 

if (($date > $summer_start) && ($date < $summer_end)) 
{ 
    echo "Between"; 
} 
else 
{ 
    echo "Not between"; 
} 
+0

Это сделало трюк. Благодаря! Забыл поставить Годы на 0000 –