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

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

15.04.2011, 16:16. Показов 7501. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru