1. Си / Говнокод #19417

    −53

    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
    time_t t = time(NULL);
    struct tm tm = *localtime(&t);
    char day[3], month[3], year[5], toDay[15] = "";
    //converting time ints to strings.
    sprintf(day, "%d", tm.tm_mday);
    sprintf(month, "%d", (tm.tm_mon + 1));
    sprintf(year, "%d", tm.tm_year + 1900);
    //string connecting.
    strcat(toDay, day);
    strcat(toDay, "/");
    strcat(toDay, month);
    strcat(toDay, "/");
    strcat(toDay, year);

    Надо было перевести дату в стринг )))

    Запостил: markrity, 08 Февраля 2016

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

    • toDay[15] это чтобы ну уж точно влезло?
      Ответить
      • ))) код продуманный на сотни миллениумов вперёд ))
        Ответить
    • "Я и моя сраная дата" - говнокод №UINT64_MAX

      man strftime, блджад.
      Ответить
      • Плюсую. Десятки одинаковых говнокодов на тему вывода даты утомляют и несмешны.
        Ответить
      • #define UINT64_MAX 19417
        Ответить
        • #ifdef UINT64_MAX
          #undef UINT64_MAX
          #endif
          #define UINT64_MAX 19417
          Ответить
    • ДД/ММ/ГГГГ само по себе говно.

      Есть пиндосский мм/дд/гггг.
      Есть наш дд.мм.гггг.
      Есть исошный гггг-мм-дд.

      А дд/мм/гггг - какой-то кентавр, который только путаницу и разброд вносит. Особенно если там 02/02/2016.
      Ответить
      • > какой-то кентавр
        Евrопейский
        Ответить
      • вообще-то форматов дат не 3, а "чуть-чуть" больше (https://dev.1c-bitrix.ru/api_help/main/general/lang/format.php) и в одних только европейских странах + сша + россия используются три разделителя и почти все варианты последовательностей (кроме ГГГГ-ДД-ММ).
        Ответить
        • если нет данных локали, то 3х форматов хватает. самое главное это порядок компонент. на разделители народ не сильно обращает внимание.

          1с и прочие обязаны делать правильно для бухгалтерии (и прочие официальные документы), где по закону надо местному стандарту следовать.

          меня лично в этой теме всегда напрягало что нет деления: human readable vs официальный формат. я пару раз локаль переконфигурировал в офисе что бы время/даты читабельнее для меня лично были. пидорастичный винворд послушно во всех документах которые я редактировал формат автоматом поменял. один раз я почти релиз "сломал" тем что в официальном документе (я менял его последним) даты были в неправильном формате.
          Ответить
      • Нужно считать дни с 1 января 1970 года.
        Ответить
      • говно это MM/DD/YYYY
        Ответить
      • шведский формат дат рулит: yyyymmdd
        с одной стороны, их лексикографический порядок соответствует календарному, с другой -- выглядит как сраная криптография, особенно когда подобный таймстемп используется в составе какого-нибудь идентификатора
        Ответить
        • Чем-то напоминает дурацкий формат для установки даты через date: [MMDDhhmm[[CC]YY][.ss]]
          Ответить
        • он удобен для отображения данных по времени - при таком формате обычная сортировка строк как раз по времени записи и упорядочит
          Ответить
          • Пока не наступит 10000 год.
            Ответить
            • К тому времени компьютеры будут квантовыми, а люди счастливыми на эту мелочь даже внимания не обратят.
              Ответить
              • Или тупо все вымрут.
                Ответить
                • Это слишком скучно.
                  Ответить
                  • Только следуя заветам б-га можно спасти свою душу и выйграть билет в рай.
                    Ответить
                    • > выйграть билет в рай
                      Так они ещё и разыгрываются?! Т.е. просто не грешить недостаточно, надо ещё и хорошее везение?
                      Ответить
                      • Чтобы ни разу не нагрешить, надо быть крайне везучим.
                        Ответить
                      • Там типа чем ты меньше грешил тем больше билетиков
                        Ответить
                • Борманд, если хочешь что бы все люди вымерли нужно начать содействовать уже сейчас
                  Ответить

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