Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Немного юмора для программистов. (http://www.flasher.ru/forum/showthread.php?t=213020)

Nnget 17.06.2016 18:13

Немного юмора для программистов.
 
Сижу, ковыряю программу с целью найти и уничтожить разные баги.
Кто писал этот код до меня, остается тайной.
И вот, очередной баг:
полученное время с сервера в формате 2012-04-04T00:00:00, надо преобразовать в наш родной формат dd.mm.yyyy.

вроде простая задачка....Но программа настойчиво выдает непонятную дату, иногда причем ставя 00 вместо месяца. После поиска причина найдена.

operationStartDate-наша строчка с датой, которую надо поменять

Код AS3:

var date:String = operationStartDate.split("T")[0];
date = date.split("-").join("/");
var d:Date = new Date( date );
operationStartDate = d.day + "." + d.month + "." + d.fullYear;
operationStartDate = parseDate(operationStartDate);
 
 
//надо заметить, что эта функция больше нигде не используется, кроме этого места в коде
private function parseDate(s:String):String
{
        if ( s.split(".").length > 1 ) {
        var d:String = s.split(".")[0];
        var m:String = s.split(".")[1];
        var y:String = s.split(".")[2];
        if ( d.length == 1 ) d = "0" + d;
        if ( m.length == 1 ) m = "0" + m;
        s = d + "." + m + "." + y;
        }
        return s;
}


Tails 17.06.2016 19:51

Ахах, ну да. :)
Нормальные пацаны время передают в формате UNIX.

undefined 17.06.2016 20:16

не понял юмора.Типа два присвоения к одной и той же переменной? А глючит то почему?

KBAC 17.06.2016 20:45

undefined, month отдаёт значения в диапазоне 0-11
Ну и видимо юмор ещё в том, что строка собирается и редактируется, вместо того чтобы собрать правильную строку сразу на основе date.

undefined 17.06.2016 21:00

ну так потом это то все заменяется на свой велосипед parseDate

caseyryan 18.06.2016 20:14

Код AS3:

private function parseDate(date:String):String {
        var regExp:RegExp = /(\d+)/gi;
        var match:Array = date.match(regExp);
        if (match.length < 3) {
                throw new ArgumentError("Не верные входные данные!");
        }
        return match[1] + "." + match[2] + "." + match[0];
}

хз, зачем ты такой г-код развел. И зачем в Date конвертировал, когда дата уже есть

А где смеяться над юмором то? Или имеется в виду, что программист, это такой баран, начисто лишенный нормального чувства юмора?

Bletraut 19.06.2016 02:24

Так бы "смешнее" было

Код AS3:

private function parseDate(s:String):String 
{
        var a:Array = s.split("-");
        if (a.length < 3) {
                throw new ArgumentError("Не верные входные данные!");
        }
        return a[2].split("T")[0] + a[0]+"."+a[1];
}



Часовой пояс GMT +4, время: 23:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.