![]() |
![]() |
![]() |
|
Перевести строку в дату | ☑ | ||
---|---|---|---|---|
0
Savfur
09.06.16
✎
11:56
|
Написал вот такой код, то есть из реквизита Объект.Дата, он берет вот такое значение 31/05/2016 22:22:22, дальше я его пытаюсь перевести, а он пишет ошибку что перевод в дату невозможен, в чем проблема? Может надо сделать парсинг строки, тогда как его сделать?
СДата = Объект.Дата; СДата = СтрЗаменить(СДата,"/",""); СДата = СтрЗаменить(Сдата,":",""); НДата = Дата(СДата); |
|||
1
GROOVY
09.06.16
✎
11:57
|
А, "ОБЪЕКТ.ДАТА" какой тип значения имеет?
|
|||
2
Savfur
09.06.16
✎
11:57
|
строка
|
|||
3
GROOVY
09.06.16
✎
11:57
|
И куда ты его "переводишь"?
|
|||
4
GROOVY
09.06.16
✎
11:58
|
Почему строка? А "Объект" - это что?
|
|||
5
Savfur
09.06.16
✎
11:58
|
ну я имел ввиду перевожу из типа строки в тип даты
|
|||
6
В тылу врага
09.06.16
✎
11:58
|
а откуда оно вообще взялось?
|
|||
7
Timon1405
09.06.16
✎
11:58
|
в 1с это невозможно, расходимся
|
|||
8
Ёпрст
гуру
09.06.16
✎
11:58
|
(0)
//СДата = Объект.Дата; //СДата = СтрЗаменить(СДата,"/",""); //СДата = СтрЗаменить(Сдата,":",""); НДата = Дата(СтрЗаменить(Объект.Дата,"/",".")); |
|||
9
Savfur
09.06.16
✎
11:59
|
ну объект.дата, я так в коде обращаюсь к поле где вписана эта дата
|
|||
10
GROOVY
09.06.16
✎
11:59
|
Объект - это что?
|
|||
11
GROOVY
09.06.16
✎
12:01
|
Напиши
а= Объект.Дата + 1; Ругается при выполнении? |
|||
12
Tarlich
09.06.16
✎
12:01
|
(0)возьми в тип решениях
|
|||
13
Savfur
09.06.16
✎
12:01
|
Ёпрст, спасибо, получилось
|
|||
14
Savfur
09.06.16
✎
12:02
|
не знаю почему в одну строчку так получилось, но оно получилось
|
|||
15
Ёпрст
гуру
09.06.16
✎
12:02
|
(13) такие вещи проверяются за пару секунд в Табло, если че..
|
|||
16
Tarlich
09.06.16
✎
12:04
|
Функция ПолучитьДатуИзСтроки(Стр)
Д = Дата("00010101000000"); Если ПустаяСтрока(Стр) Тогда Возврат Д; КонецЕсли; Если Найти(Стр,".")>0 Тогда Если Найти(Стр,":")>0 И Найти(Стр," ")>0 Тогда М = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Стр," "); Возврат ПолучитьДатуИзСтроки(М[0]); КонецЕсли; М = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Стр,"."); ИначеЕсли Найти(Стр,"/")>0 Тогда М = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Стр,"/"); ИначеЕсли Найти(Стр,",")>0 Тогда М = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Стр,","); ИначеЕсли Найти(Стр,"-")>0 Тогда М = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Стр,"-"); КонецЕсли; Попытка Если М.Количество()=3 Тогда //"01.02.13" или "01.02.2013" Год = ?(СтрДлина(М[2])=2,2000+М[2],М[2]); Д = Дата(Год,М[1],М[0]); ИначеЕсли М.Количество()=2 Тогда //"02.13" или "02.2013"; Год = ?(СтрДлина(М[1])=2,2000+М[1],М[1]); Д = Дата(Год,М[0],1); КонецЕсли; Исключение КонецПопытки; Возврат Д; КонецФункции |
|||
17
RomanYS
09.06.16
✎
12:04
|
(11) а каком случае будет ругаться?
строка - не будет, дата - не будет, число тем более)) |
|||
18
aleks_default
09.06.16
✎
12:06
|
(7) что невозможно?
вычисли в отладке Дата("31.05.2016 0:00:00") |
|||
19
lodger
09.06.16
✎
12:08
|
(17) ссылка.
|
|||
20
RomanYS
09.06.16
✎
12:12
|
(19) это понятно; не понятно, что хотел проверить Павел таким специфическим образом. Я как и он подозреваю, что у ТС изначально тип дата, но он не колется, что же такое объект.
|
|||
21
GROOVY
09.06.16
✎
12:16
|
(20)Да у него точно это данные формы с реквизитом документ.
|
|||
22
RomanYS
09.06.16
✎
12:52
|
(21) тогда странно, что у него (8) работает. Если локальный формат с "/", тогда бы не работало.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |