Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Читабельная дата (https://javascript.ru/forum/misc/25690-chitabelnaya-data.html)

KupueIIIKo 12.02.2012 21:13

Читабельная дата
 
function showTime() {
  sec--; // каждый вызов функции приводит к уменьшению на 1 секунду
  if (sec < 0) // если секунды ушли в минус,
    {
    sec = 59; // возвращаем их в 59
    min--;      // и уменьшаем минуту
    if (min < 0)  // если минуты ушли в минус
      {
       min = 59;  // возвращаем их в 59
       hour--;   // и уменьшаем час на единицу
       if (hour < 0) // а уж если и час в минус ушёл
          {
          hour = 23;
          days--;
          if (days < 0)
            {
            window.clearInterval(timer); // значит хватит считать, снимаем таймер, чтоб функция больше не вызывалась
            document.getElementById("showTime").innerHTML = "<span style='color:red'>Подводим итоги игры!</span>"; // и выводим красными буквами приветствие:)
            }
          }
      }
    }
  // окончание вычисления такое:
  document.getElementById("showTime").innerHTML = "Осталось времени: " + hour + ":" + min + ":" + sec;
}

Нашел скрипт подкоректировал! Но есть минус данного скрипта

Когда время отображается и цифра однозначная, то отображается
не 09, а 9! Какие есть предложения решения кроме, моего тупизма писать проверку цифры, если она меньше 10 то приписывать 0!

monolithed 12.02.2012 21:32

Цитата:

Сообщение от KupueIIIKo
Какие есть предложения решения

alert((1 < 10 ? '0' : '') + 9);

KupueIIIKo 12.02.2012 21:50

тут минус! есть выводить число больше! то выскакивает false

KupueIIIKo 12.02.2012 22:00

Вот мое еврейское решение!

if (hour < 10)
		{zhour = '0';}
	else {zhour = '';}
	if (min < 10)
		{zmin = '0';}
	else {zmin = '';}
	if (sec < 10)
		{zsec = '0';}
	else {zsec = '';}
  // окончание вычисления такое:
  document.getElementById("showTime").innerHTML = "Осталось времени: " + zhour + hour + ":" + zmin + min + ":" + zsec + sec;

monolithed 12.02.2012 22:01

Цитата:

Сообщение от KupueIIIKo
тут минус! есть выводить число больше! то выскакивает false

Поправил)

nerv_ 12.02.2012 22:07

alert( "1.1.2011".replace(/(?=\b\d\b)/g, "0") );

Bebarr Swallow 13.02.2012 18:25

function zero(a){
    return a<10?"0"+a:a
}

var a=7
var b=zero(a) // "07"​​


Пропускаем через функцию - zero(anyNumber). На выходе получаем строку типа - "07".

Bebarr Swallow 13.02.2012 19:10

Пример:
var a=1
var b=0
var c=47

function zero(a){
    return a<10?"0"+a:a
}

alert(zero(a)+":"+zero(b)+":"+zero(c))


Часовой пояс GMT +3, время: 05:06.