1. C# / Говнокод #13158

    +105

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    private void timer1_Tick(object sender, EventArgs e)
            {
                sec++;
    
                if (sec > 59)
                {
                    min++;
                    if (min > 59)
                    {
                        ch++;
                        min = 0;
                    }
                    sec = 0;
                }
    
                label1.Text = "Время игры: \r\n" + ch + ":" + min + ":" + sec;
            }

    Часики -_-

    Запостил: ipro, 12 Июня 2013

    Комментарии (18) RSS

    • label1.Text = DateTime.Now.ToShortTimeString()+":"+Dat eTime.Now.Second.ToString("0#");
      Ответить
      • // <s>fixed</s>
        StringBuilder sb = new StringBuilder("Время игры: \r\n");
        sb.Append(DateTime.Now.ToShortTimeString ());
        sb.Append(":");
        sb.Append(DateTime.Now.Second.ToString(" 0#"));
        label1.Text = sb.ToString();
        Ответить
        • Но какой смысл юзать стрингбилдер ради трех конкатенаций очень коротких строк? Имхо ненужное переусложенение кода.

          P.S. А че в шарпе нет нормального форматирования дат аля strftime? Только конкатенировать шорттайм и секунды?
          Ответить
          • Есть же ведь. Так что по минусу обоим знатокам шарпа:
            String.Format("Время игры: {0:H:mm:ss}", DateTime.Now);

            P.S. Да еще и дату два раза получаете не закешировав значение. Фу, понасрали больше чем автор.
            Ответить
            • P.S. Ну и конечно нужно вычесть время начала игры. Все-таки код должен показывать игровое время, а не настоящее.
              Ответить
            • Минус bormand-у за сломанный детектор :)
              Ответить
            • label1.Text = DateTime.Now.ToLongTimeString();
              Ответить
          • ЗЕЛЕНАЯ КРАСКА кончилась, остались только тэги <s>
            Ответить
            • Ну ок, ночью у меня сарказмодетектор не всегда срабатывает :)
              Но код sbs'а хуже, чем код автора, да еще и решает совсем не ту задачу ;)
              Ответить
            • Да ну?

              Наверное нужно запиливать фак, для тех кто не сразу может понять. Что бы соглашения были о тегах, так сказать, ибо я тоже не понял, что значит <s></s>.
              Ответить
              • Да ладно, какое это значение имеет?
                Одному было лень бибитэг вспоминать, другой этого не понял и влепил минус. Такие мелочи :)
                Ответить
                • Вот видите, а могли бы чуть ниже нажать ссылочку bbcode и посмотреть. :)
                  Ответить
                  • Вы недооцениваете масштабы человеческой лени ;)
                    Ответить
    • Вот что называю искривлением времени!
      Ответить
    • private static string Time(DateTime startTime, DateTime currentTime){
      	TimeSpan gameTime = currentTime - startTime;
      	return gameTime.ToString ();
      }


      Как вариант решения, а то холивары уже пошли)
      Ответить
      • А оно всякие AM/PM не вывалит в соответствующих локалях? Все-таки, имхо, в этом случае лучше самому Стринг.Формат дернуть.
        Ответить
        • Да не должен, судя по MSDN там интервал от 00 до 23, хотя хз, не буду утверждать)
          Ответить
          • А, тут TimeSpan, ну да, по логике не должен, это я тупанул.
            Ответить

    Добавить комментарий