Вход | Регистрация


Форматная строка даты. как присунуть ноль в часы?

Форматная строка даты. как присунуть ноль в часы?
Я
   Shved_72
 
05.10.16 - 07:12
http://i.imgur.com/fD3ES8Y.png
05.10.2016  9:08:47 -> 05.10.2016 09:08:47
 
 
   Shved_72
 
1 - 05.10.16 - 07:13
всем спасибо dd.MM.yy чч:мм:сс
   1dvd
 
2 - 05.10.16 - 07:15
присунул и пошёл...
   kuzyara
 
3 - 05.10.16 - 07:33
Интересно зачем? Разве так лучше читается?
   1dvd
 
4 - 05.10.16 - 07:34
(3) её легче парсить
   Shved_72
 
5 - 05.10.16 - 07:35
перфекционанизм мать его.
строки съезжают когда сначала 9, а потом 10
9
9
9
10
10
   Shved_72
 
6 - 05.10.16 - 07:37
   kuzyara
 
7 - 05.10.16 - 08:09
ня
/ Процедура СтрокаВДату преобразует строку в дату по шаблону форматной строки
//

// Параметры
//  Строка        - строка, содержащая дату,

//  ФорматДаты    - форматная строка вида:
// [dd MM yy]

// [yy-MM-dd HH:mm]
// [dd MM yy HH mm ss]

// [dd MM yyyy]
// [MM dd, yyyy, HH:mm]

// [dd.MM.yy]
// [MM, dd, yyyy]

// [yyyyMMdd]
// [HH-mm-ss, dd-MM-yy]

// [dd]
// [dd MM HH:mm:ss yyyy]

// [HH:mm:ss]
// [HH:mm]

// [yyyy-MM-dd HH:mm:ss]
// [yyyy-MM-dd]

// [yyyy/MM/dd]
// [dd/MM/yy]

// [MM dd yyyy]
// [yyyy-MM]

// [yyyy]
// [MM, dd, yyyy]

// [dd-MM-yyyy]
// [ddMMyyyy]

//
Функция СтрокаВДату(Знач Строка, Знач ФорматДаты) Экспорт
    Ч = Новый Соответствие; 
    Для ё = 1 По СтрДлина(ФорматДаты) + 6 Цикл 
        Ч[Сред(ФорматДаты + "dMyHms", ё, 1)] = 0
    КонецЦикла; 
    Для ё = 1 По СтрДлина(ФорматДаты) Цикл 
        Ч[Сред(ФорматДаты, ё, 1)] = 10 * Ч[Сред(ФорматДаты, ё, 1)] + Найти("123456789", Сред(Строка, ё, 1));
    КонецЦикла; 
    Ч["y"] = Ч["y"] + ?(0 < Ч["y"] И Ч["y"] < 50, 2000, ?(0 < Ч["y"] И Ч["y"] < 100, 1900, 0));
    Возврат Дата(Макс(Ч["y"], 1), Макс(Ч["M"],1), Макс(Ч["d"],1), Ч["H"], Ч["m"], Ч["s"]);
КонецФункции  

   Shved_72
 
8 - 05.10.16 - 08:12
ой ё
   1dvd
 
9 - 05.10.16 - 08:16
А Кузяра любит секс стоя в гамаке...
   Рэйв
 
10 - 05.10.16 - 08:31
(7) дарю попроще:-)
Делает дату из любой удобоваримой строки даже если цифры разделены хрен знает чем
//-------------
 
 Рекламное место пустует
   Рэйв
 
11 - 05.10.16 - 08:31
Функция ДатаИзСтрокиВн(СтрокаДата)  Экспорт
    СтрокаДатаДо     =СтрокаДата;
    СтрокаДата        =ПроверитьТолькоЦифрыВн(СтрокаДата);
    
    Если   СтрДлина(СтрокаДата)=6 Тогда
        ДатаИмпорт=СокрЛП(СтрокаДата);
        Год=Прав(ДатаИмпорт,2);
        Если Число(Лев(Год,1))>5 Тогда
            Год="19"+Год;
        Иначе
            Год="20"+Год;
        КонецЕсли;      
        Месяц    =Сред(ДатаИмпорт,3,2);
        День    =Лев(ДатаИмпорт,2);
        Попытка
            Дата80=Дата(Год+Месяц+День);
        Исключение
            Сообщить("Ошибка конвертации даты: '"+ДатаИмпорт+"' -> '"+Год+"."+Месяц+"."+"'");
            Возврат Дата(0);

        Конецпопытки;      
        Возврат Дата80;
        
    ИначеЕсли СтрДлина(СтрокаДата)=8  Тогда
        ДатаИмпорт=СокрЛП(СтрокаДата);
        Год=Прав(ДатаИмпорт,4);
        Месяц    =Сред(ДатаИмпорт,3,2);
        День    =Лев(ДатаИмпорт,2);
        Попытка
            Дата80=Дата(Год+Месяц+День);
        Исключение
            Сообщить("Ошибка конвертации даты: '"+ДатаИмпорт+"' -> '"+Год+"."+Месяц+"."+"'");
            Возврат Дата(0);
        Конецпопытки;      
        Возврат Дата80;
    Иначе    
        Сообщить("Неверный формат переданной строки.  Полученый параметр: '"+СтрокаДатаДо+"'.  Обработанный параметр: "+СтрокаДата);
        Возврат Дата(0);
    КонецЕсли;    
    
    
КонецФункции
   Рэйв
 
12 - 05.10.16 - 08:31
+Функция ПроверитьТолькоЦифрыВн(Пар,Режим="Очистка") Экспорт
    Ответ="";
    Для Н=1 По СтрДлина(Пар) Цикл
        Сим=Сред(Пар,н,1);
        Если НЕ(Найти("0123456789", Сим)) Тогда
            Если Режим="Проверка" Тогда
                Возврат Ложь;
            Иначе
                Продолжить;
            КонецЕсли;
        Иначе
            Ответ=Ответ+Сим;
            
        КонецЕсли;    
    КонецЦикла;    
    Если Режим="Проверка" Тогда
        Возврат Истина;
    Иначе
        Возврат Ответ;
    КонецЕсли;    
КонецФункции

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует