Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Попасть в промежуток между датами

Сообщения:  [1-10]   [11-13] 

 
 автор: tima2010   (23.01.2012 в 16:54)   письмо автору
 
   для: Lotanaen   (23.01.2012 в 16:51)
 

Возможно я ошибся но как мне кажется (чисто по ощущениям )Весна длится с 16.03 - 15.05
Это поправить не долго, главное работает. Всем спасибо!!!

  Ответить  
 
 автор: Lotanaen   (23.01.2012 в 16:51)   письмо автору
 
   для: tima2010   (23.01.2012 в 16:42)
 

а как это у Вас 61 день весны получился? 92 же календарных?

  Ответить  
 
 автор: tima2010   (23.01.2012 в 16:42)   письмо автору
 
   для: Lotanaen   (23.01.2012 в 16:18)
 

Вообщем сделал так, по мне это лучший выход:


<?php
$begin 
'01-01-'.date('Y');
$winter '120'// количество дней зимы
$spring '181'// 61 количество дней весны
$summer '289'// 108 количество дней лета
$autumn '365'// 76 количество дней осени

$result_date floor((strtotime("now")-strtotime($begin))/86400)+1;
if(
$winter >= $result_date) {
    echo 
'Зима';
} elseif(
$spring >= $result_date) {
    echo 
'Весна';
} elseif(
$summer >= $result_date) {
    echo 
'Лето';
} elseif(
$autumn >= $result_date) {
    echo 
'Осень';
} else {
    echo 
'...';
}
?>

  Ответить  
 
 автор: Lotanaen   (23.01.2012 в 16:18)   письмо автору
 
   для: tima2010   (23.01.2012 в 15:47)
 

так Вам тогда только месяца одни и нужны

$month = 3;

if ($month>11 && $month<3) echo "Zima";
if ($month>2 && $monht<6) echo "Vesna";
if ($month>5 && $month<9) echo "Leto";
if ($month>8 && $month<12) echo "Osen";



Можно и через switch case также сделать...

  Ответить  
 
 автор: tima2010   (23.01.2012 в 15:47)   письмо автору
 
   для: tima2010   (23.01.2012 в 14:53)
 

зима как бы начинается с ноября 11 месяц
и заканчивается в марте

if('01.20.2012' >= '11.15.2012' and '01.20.2012' <= '03.15.2013') {
    echo "Зима";

  Ответить  
 
 автор: tima2010   (23.01.2012 в 14:53)   письмо автору
 
   для: Lotanaen   (23.01.2012 в 14:45)
 

Даже если сделать так, не помогает, давайте прочитаем для примера простое условие:

if(01 >= 11 and 01 <= 03) {
    echo "Зима";
}


если январь больше или равен ноябрю И январь меньше или равен марту = true
как такое условие может сработать? если там стоит AND

  Ответить  
 
 автор: Lotanaen   (23.01.2012 в 14:45)   письмо автору
 
   для: tima2010   (23.01.2012 в 13:31)
 

если использовать формат даты в обратном порядке чем у Вас, т.е. год - месяц - день часы:минуты:секунды, то все сравнения будут корректно работать без преобразований различных.

  Ответить  
 
 автор: tima2010   (23.01.2012 в 13:31)   письмо автору
 
   для: Valick   (23.01.2012 в 12:38)
 

извиняюсь, не думал что это так важно
База не используется
Переменные задаются ручками
Делаю для определения времен года, Зима Весна Лето Осень
причем даты определяются строго от 1 дня до другого, чисто по месяцам не получится выкрутится

  Ответить  
 
 автор: Valick   (23.01.2012 в 12:38)   письмо автору
 
   для: tima2010   (23.01.2012 в 10:45)
 

ну почему вы всегда пишите что нужно сделать, и никогда не пишите зачем это нужно сделать, от этого координально зависит решение задачи.
"и в сотый раз закинул старик невод..."
база данных используется?

  Ответить  
 
 автор: cheops   (23.01.2012 в 12:27)   письмо автору
 
   для: tima2010   (23.01.2012 в 10:45)
 

Возможно следует посмотреть в сторону скрипта, переводящего дату в секунды (указывая текущий год, и зануляя время). В этом случае промахнуться мимо интервала невозможно.

  Ответить  

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования