1. Java / Говнокод #12671

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    String currentDate = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new Date());
     accountNumber.append(String.valueOf(1900 + new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getYear()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getMonth()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getDate()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getHours()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getMinutes()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getSeconds()));

    ну а чо, зато внушительно выглядит

    Запостил: nafania217518, 01 Марта 2013

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

    • It's just a SimpleDateFormatFactory.
      Ответить
    • Всем известно, что лишние переменные замедляют выполнение кода
      Ответить
    • Во всей красе. Полагаю accountNumber потом еще и парсится обратно в число.
      Человек не знавший про System.nanoTime ().
      Ответить
      • И про то, что append у стрингбилдера жрет любые типы без String.valueOf()/toString()...
        Ответить
        • И про то что это всё, наверняка, можно было тупо сплюсовать.
          Ответить
          • И про то, что в яве есть не только String, но и много других типов.
            Ответить
    • Кстати, акцессоры вроде Date.getYear() задепрекейчены ещё при царе горохе
      Ответить
      • Тссс... Не надо ему говорить про Calendar...
        String currentDate = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new Date());
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate));
        accountNumber.append(String.valueOf(calendar.get(Calendar.MONTH)));
        calendar = Calendar.getInstance();
        calendar.setTime(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate));
        accountNumber.append(String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)));
        ...
        Ответить
      • это одно из мест, которые приводят в бешенство. был простой, удобный объект Date... Но сановцы посчитали, что жизнь с ним слишком легка и скучна, и сделали Calendar, которым пользоваться, в смысле написания кода, очень неудобно.
        Приходится юзать всякие сторонние JodaTime.
        Ответить
        • >был простой, удобный объект Date
          O RLY? Я б не сказал что он шибко удобный.
          Ответить
          • 3 поля: год, месяц, день, с аксессорами - что может быть удобнее?
            Ответить
            • Для реального удобства нужны таймспаны с аксессорами и умные методы конструирования дат с addDays, addYears, etc. Мелкософтовцы в этом плане лучше сделали, DateTime у них в сишарпике в меру удобный.
              Ответить

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