Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

PHP вывод текста в зависимости от времени


Recommended Posts

Всем привет, не раз встречал обсуждения на данную тему на других форумах, но толком не увидел рабочего варианта нигде. Есть код:

<SCRIPT LANGUAGE="JavaScript">
var h=(new Date()).getHours();
if (h > 9 && h <  22) document.writeln("Доставка <b>сегодня</b> при заказе до <b>22:00</b>");
if (h > 22 || h <  9 ) document.writeln("Доставка <b>сегодня</b> после 9:00." ) ;
</SCRIPT>

Соответственно берется локальное время сервера и выводится текст с 9 до 22 и с 22 до 9,

но, после 22:00 и до 00:00 не выводится ничего.

Как закрыть и этот интервал тоже?

Link to post
Share on other sites

14 минут назад, Tobolskiy сказал:

Всем привет, не раз встречал обсуждения на данную тему на других форумах, но толком не увидел рабочего варианта нигде. Есть код:

<SCRIPT LANGUAGE="JavaScript">
var h=(new Date()).getHours();
if (h > 9 && h <  22) document.writeln("Доставка <b>сегодня</b> при заказе до <b>22:00</b>");
if (h > 22 || h <  9 ) document.writeln("Доставка <b>сегодня</b> после 9:00." ) ;
</SCRIPT>

Соответственно берется локальное время сервера и выводится текст с 9 до 22 и с 22 до 9,

но, после 22:00 и до 00:00 не выводится ничего.

Как закрыть и этот интервал тоже?

 

поменять временные интервалы или добавить еще одну строку условия...

сам способ конечно странный, но это другой вопрос )

Link to post
Share on other sites
24 минуты назад, Vetroff сказал:

 

поменять временные интервалы или добавить еще одну строку условия...

сам способ конечно странный, но это другой вопрос )

 

да, но при добавлении третьего интервала (условия) не работает... руки кривые скорее всего.

 

других методов безобидных не нашел))

Link to post
Share on other sites

11 минут назад, Tobolskiy сказал:

да, но при добавлении третьего интервала (условия) не работает... руки кривые скорее всего.

дак вы уже определитесь, вам PHP всётаки или JS )) 

На счёт третего условия не скажу почему оно у вас не добавляется, но в вашем примере не с 22 до 0 ничего не выводится, а конкретно в 22 и в 9  )) 

52 минуты назад, Tobolskiy сказал:

Соответственно берется локальное время сервера и выводится текст

В вашем случае берётся местное время с устройства клиента) 

Link to post
Share on other sites

10 минут назад, Tobolskiy сказал:

 

да, но при добавлении третьего интервала (условия) не работает... руки кривые скорее всего.

 

других методов безобидных не нашел))

 

ну, можно прописать в одной строке if (h > 9 && h < 22)

а во второй просто else, т.е. все остальное время

  • +1 1
Link to post
Share on other sites
2 минуты назад, iglin сказал:

дак вы уже определитесь, вам PHP всётаки или JS )) 

На счёт третего условия не скажу почему оно у вас не добавляется, но в вашем примере не с 22 до 0 ничего не выводится, а конкретно в 22 и в 9  )) 

 

Хаха)) сначала хотел написать о другом и теперь не исправить заголовок))))) спасибо что подметили))

То есть третий интервал и не нужен? Как  тогда правильнее будет указать условие?

Link to post
Share on other sites

2 минуты назад, Vetroff сказал:

 

ну, можно прописать в одной строке if (h > 9 && h < 22)

а во второй просто else, т.е. все остальное время

 

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

Спасибо! Получилось)))

Link to post
Share on other sites

4 минуты назад, Tobolskiy сказал:

Как  тогда правильнее будет указать условие?

Если вам нужно время клиента, а не ваше местное время то if (h > 9 && h < 22) {...} else {...}

 

Но почему то мне кажется правильней от вашего часового пояса отталкиваться и сделать это всётаки на стороне сервера c PHP date("G");

 

А, ну и ещё можно без else, а в нижнем условии => и <= использовать

  • +1 1
Link to post
Share on other sites

2 минуты назад, iglin сказал:

Если вам нужно время клиента, а не ваше местное время то if (h > 9 && h < 22) {...} else {...}

 

Но почему то мне кажется правильней от вашего часового пояса отталкиваться и сделать это всётаки на стороне сервера c PHP date("G");

 

А, ну и ещё можно без else, а в нижнем условии => и <= использовать

 

 

да, уже так и сделал. нужно было время сервера. спасибо что откликнулись!

 

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.