Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/40: Рейтинг темы: голосов - 40, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 28.03.2011
Сообщений: 7

Сколько осталось до конца дня

15.04.2011, 16:16. Показов 7468. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужен простой скриптик который показывал бы сколько осталось до конца рабочего дня начало и конец рабочего дня вводятся пользователем
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.04.2011, 16:16
Ответы с готовыми решениями:

Скрипт сколько осталось часов до конца дня
Нужен простенький скрипт, который отображал бы, сколько осталось времени, то есть часов : мин : сек до конца дня... скрипт должен работать...

Скрипт сколько осталось часов до конца текущего месяца
Нужен скрипт, который отображал бы, сколько осталось времени, то есть часов : мин : сек до конца текущего месяца... скрипт должен работать...

Дата следующего дня, последний день месяца и сколько дней осталось до конца месяца
написать программу которая вычисляет дату следующего дня определяет последний день месяца и сколько дней осталось до конца месяца на...

6
221 / 135 / 48
Регистрация: 12.04.2010
Сообщений: 248
15.04.2011, 19:58
HTML5
1
2
Конец рабочего дня: <input type=text id='ejd' value='20:10'>
<div id="out"></div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  function ejda(){
    var d = new Date;
    var h = d.getHours(), m = d.getMinutes();
    var ud = document.getElementById("ejd").value;
    var ut = ud.split(":")
    var dh = ut[0] - h, dm = ut[1] - m;
 
      if(dm < 0) {
         dh--;
         dm = 60 + dm;
      }
      if(dh < 0) {
          dh = 24 + dh;      
      }
 
      document.getElementById("out").innerHTML ="Осталось: " + dh + " ч. " + dm + " мин.";
    setTimeout("ejda()", 1000);
}
setTimeout("ejda()",1000);
Добавлено через 27 минут
Эх.. забыл про начало дня
Тогда вот... другим способом ...
HTML5
1
2
3
Начало рабочего дня: <input type=text id='bjd' value='8:10'><br>
Конец рабочего дня: <input type=text id='ejd' value='20:10'>
<div id="out"></div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  function ejda(){
    var d = new Date;
    var h = d.getHours(), m = d.getMinutes();
    var udb = document.getElementById("bjd").value;
    var ude = document.getElementById("ejd").value;
    var utb = udb.split(":")
    var ute = ude.split(":")
    utb = parseInt(utb[0]) * 60 + parseInt(utb[1]);
    ute = parseInt(ute[0]) * 60 + parseInt(ute[1]);
    d = h * 60 + m;
    if(ute < utb) ute += 1440;
    var dt = ute - d;
      if(dt > 0 && d > utb){
          var dh = Math.floor(dt / 60), dm = dt - dh * 60;
 
          document.getElementById("out").innerHTML ="Осталось: " + dh + " ч. " + dm + " мин.";
      }     
      else document.getElementById("out").innerHTML = "Рабочий день закончен."
 
    setTimeout("ejda()", 1000);
}
setTimeout("ejda()",1000);
1
0 / 0 / 0
Регистрация: 18.11.2015
Сообщений: 3
18.11.2015, 09:19
Здравствуйте!

Пожалуйста, помогите доработать задачу. нужно добавить условие, учитывающее дни недели.

время работы
пн-пт 10:00 - 18:00
сб 11:00 - 15:00

Спасибо!
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
18.11.2015, 13:18
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var d = new Date;                     var Ct = d.getHours () * 60 + d.getMinutes ();
 
var wd = d.getDay ();
 
d.setHours (wd < 6 ? 10 : 11, 0, 0);  var Bt = d.getHours () * 60 + d.getMinutes ();
d.setHours (wd < 6 ? 18 : 15, 0, 0);  var Ft = d.getHours () * 60 + d.getMinutes ();
 
var H = Math.floor ((Ct - Bt) / 60); document.write ('с начала рабочего дня прошло ');
                                     document.write ( + H + ' час. ');
                                     document.write ((Ct - Bt - 60 * H) + ' мин.');
 
var H = Math.floor ((Ft - Ct) / 60); document.write ('<p>до конца рабочего дня осталось ');
                                     document.write ( + H + ' час. ');
                                     document.write ((Ft - Ct - 60 * H) + ' мин.');
0
0 / 0 / 0
Регистрация: 18.11.2015
Сообщений: 3
18.11.2015, 15:53
ой, как быстро ответили! Спасибо!

мне бы условие вставить, как в решении выше : если время не рабочее, то вывести "офис закрыт"
наверно, так:

if( время рабочее)
{
var H = Math.floor ((Ct - Bt) / 60); document.write ('с начала рабочего дня прошло ');
document.write ( + H + ' час. ');
document.write ((Ct - Bt - 60 * H) + ' мин.');

var H = Math.floor ((Ft - Ct) / 60); document.write ('<p>до конца рабочего дня осталось ');
document.write ( + H + ' час. ');
document.write ((Ft - Ct - 60 * H) + ' мин.');
}
else document.write ('офис закрыт');


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

Спасибо!
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
19.11.2015, 10:21
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var d = new Date;                     var Ct = d.getHours () * 60 + d.getMinutes ();
 
var wd = d.getDay ();
 
d.setHours (wd < 6 ? 10 : 11, 0, 0);  var Bt = d.getHours () * 60 + d.getMinutes ();
d.setHours (wd < 6 ? 18 : 15, 0, 0);  var Ft = d.getHours () * 60 + d.getMinutes ();
if (!wd || Ct <= Bt || Ct >= Ft) alert ('офис закрыт!');
else
   {
   var H = Math.floor ((Ct - Bt) / 60); document.write ('с начала рабочего дня прошло ');
                                        document.write (H + ' час. ');
                                        document.write ((Ct - Bt - 60 * H) + ' мин.');
 
   var H = Math.floor ((Ft - Ct) / 60); document.write ('<p>до конца рабочего дня осталось ');
                                        document.write (H + ' час. ');
                                        document.write ((Ft - Ct - 60 * H) + ' мин.');
   }
Цитата Сообщение от KonstantinNad Посмотреть сообщение
в примере выше время на странице меняется без перезагрузки
если реализовать как в примере выше, то на странице де-факто получатся два таймера -- "прямой" (сколько прошло времени с начала рабочего дня) и "обратный" (сколько времени осталось до конца рабочего дня), в любой момент времени в сумме дающие продолжительность рабочего дня
это совсем несложно, но вам разве именно это надо?
подумайте
0
0 / 0 / 0
Регистрация: 18.11.2015
Сообщений: 3
20.11.2015, 09:50
Здравствуйте!
Еще раз спасибо за помощь!
сразу не ответил, так как сутки игрался/тестировал.

задача - на сайте показать контакты в зависимости от режима работы.
все ок. немного допилил код. не знаю красиво или нет, но работает.

if (!wd || Ct < Bt || Ct > Ft) {
var H = Math.floor ((Bt - Ct ) / 60); document.getElementById("outs").innerHTM L ="Пишите:<a href='/feedback/' >форма обратной связи</a>";
}
else
{
var H = Math.floor ((Ft - Ct) / 60); document.getElementById("outs").innerHTM L ="Звоните: + 123 1234567. До закрытия осталось: " + H + " ч. " + (Ft - Ct - 60 * H) + " мин.";
}

Еще хочу добавить в if true - Офис откроется через ХХ ч. ХХ мин. Не получилось... т.е. 20:00(сегодня) минус 10:00(утро след дня) нужно получить 14 ч. 00 мин. наверно, мне нужно объявить новую переменную ?! XX = разница между суточными переменными ;
... Офис откроется через " + H + " ч. " + (XX - Ct - 60 * H) + " мин."

Подскажите, плз, как посчитать время между сегодня и завтра
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.11.2015, 09:50
Помогаю со студенческими работами здесь

Сколько секунд осталось до следующего дня
Добрый день! Я не очень опытен в vb net и иногда застреваю на, казалось бы, элементарных вопросах. Вот и сейчас возник подобный. Мне...

Сколько дней осталось до конца года
С клавиатуры вводится число и номер месяца ,посчитать сколько дней осталось до конца года ,учитывая что в феврале 28 дней ,следовательно,в...

Сколько дней осталось до конца года?
Написать програму которая спрашивает у пользователя дату в формате ДД ММ ГГГГ и вычисляет сколько дней осталось до конца года. Я...

Определить, сколько дней осталось до дня рождения
1) задача. Ввести дату рождения и текущую дату. Определить сколько дней осталось до др. 2) задача. Масив 10х10 . Заполнить...

Определить, сколько дней осталось до дня рождения
Всем привет. Не могу решать задачу. &quot;Заданы день и месяц рождения, а так же текущий день, месяц и год. определить, сколько дней осталось до...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru