|
СТРОКУ (две цифры года) в ДАТУ, как? | ☑ | ||
---|---|---|---|---|
0
dft2014
06.12.17
✎
16:33
|
Как преобразовать СТРОКУ вида 27.10.92 в ДАТУ 27.10.1992?
Пробовала функцией ниже, но выдает ошибку. СтрокуВДату = РазобратьДату(Данные.ДатаРождения); ФизЛицо.ДатаРождения = Формат(СтрокуВДату, "ДФ=dd.MM.yyyy"); Функция РазобратьДату(ИзмДата); Возврат Дата(Сред(ИзмДата,7,4)+Сред(ИзмДата,4,2)+Сред(ИзмДата,0,2)); КонецФункции |
|||
1
lodger
06.12.17
✎
16:35
|
попробуй просто Дата(Данные.ДатаРождения).
|
|||
2
Lexey_
06.12.17
✎
16:39
|
(0) это та самая легендарная единственная ошибка 1С?
|
|||
3
echo77
06.12.17
✎
16:40
|
(0) Возврат Дата(Сред(ИзмДата,7,4)+Сред(ИзмДата,4,2)+Сред(ИзмДата,1,2));
|
|||
4
1Садовник
06.12.17
✎
16:49
|
СтрокуВДату = "921027". Ты же год полностью не получаешь. Сред(ИзмДата,7,4) вернет ток "92".
|
|||
5
Umga2002
06.12.17
✎
16:59
|
Похоже без анализа года не обойтись....
|
|||
6
Umga2002
06.12.17
✎
17:01
|
Ошибка МИЛЕНИУМ похоже....
|
|||
7
drcrasher
06.12.17
✎
17:04
|
(0) подозреваю, что там даты рождения записаны в строке. если год больше 17, то добавлять 19, если меньше или равен - 20
|
|||
8
dft2014
06.12.17
✎
17:45
|
Ап!
|
|||
9
azernot
06.12.17
✎
17:52
|
Функция РазобратьДату(ИзмДата);
Год = Сред(ИзмДата,7,4) Если СтрДлина(Год)<4 Тогда ГодЧислом = Число(Год); ГодНачалаСтолетия = 20; Если ГодЧислом > ГодНачалаСтолетия Тогда Год = "19"+Год; Иначе Год = "20"+Год; КонецЕсли; КонецЕсли; Возврат Дата(Год+Сред(ИзмДата,4,2)+Сред(ИзмДата,0,2)); КонецФункции |
|||
10
dft2014
06.12.17
✎
17:58
|
(9) СПАСИБО!!! Все получилось!!!
|
|||
11
Serg_1960
06.12.17
✎
18:04
|
(10) Цирк-шапито да и только :)
"Как преобразовать СТРОКУ вида 27.10.92" - там не строка, там всё-таки дата. Если учитывать (9) и "все получилось"(цы) |
|||
12
azernot
06.12.17
✎
18:06
|
(11) Эээ... что не так? Из строки "27.10.92" получили дату 27.10.1992
|
|||
13
Serg_1960
06.12.17
✎
22:25
|
Упс, конец напряженного рабочего дня :) "Прошу понять и простить"(с)
|
|||
14
Serg_1960
06.12.17
✎
23:16
|
В качестве компенсации - функция, которая по мнению автора любую экзотику пережуёт, проглотит и выплюнет как дату - лишь бы там только цифры были :)
PS: даты с двумя цифрами года преобразуются в дату прошлого века ;) |
|||
15
Serg_1960
06.12.17
✎
23:18
|
PSS: в алгоритме, как всегда, киндер-сюрприз для непосвящённых :))
|
|||
16
Лефмихалыч
06.12.17
✎
23:27
|
Если Строка = "27.10.92" Тогда
Возврат Дата(1992, 10, 27); КонецЕсли; Это же элементарно! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |