|
v7: вопрос по ф-ии формат() | ☑ | ||
---|---|---|---|---|
0
lucifer
23.01.12
✎
15:49
|
как отформатировать дату так что бы получить
запись такого вида "23" января 2012г. |
|||
1
Ёпрст
23.01.12
✎
15:50
|
"ДДДММММГГГГ"
|
|||
2
lucifer
23.01.12
✎
15:52
|
неее именно с кавычками
ну типа """"+формат(ДатаДок,?)+""" "+формат(ДатаДок,?) |
|||
3
lucifer
23.01.12
✎
15:53
|
что бы в первом формат() только число, во втором месяц прописью и год
|
|||
4
zak555
23.01.12
✎
15:56
|
СтрокаДата = ФОрмат (ДАтаНужная , "ДДДММММГГГГ");
СЗ_СтрокаДата = глРазложить(СтрокаДата); СтрокаДатаНужная = """ + СЗ_СтрокаДата.ПолучитьЗначение(1) + """; для н = 2 по СЗ_СтрокаДата.РазмерСписка() Цикл СтрокаДатаНужная = СтрокаДатаНужная + " " + СЗ_СтрокаДата.ПолучитьЗначение(н); КонецЦикла; |
|||
5
lucifer
23.01.12
✎
15:59
|
(4) только парсингом?
|
|||
6
lucifer
23.01.12
✎
16:01
|
ну а можно из даты получить сначала дату, потом месяц прописью, потом год и все это сложить в одну строку, через формат() а не парсить
|
|||
7
NS
23.01.12
✎
16:01
|
Сокрлп(сред(формат,3))
|
|||
8
GLazNik
23.01.12
✎
16:02
|
""""+ДатаЧисло(Дата) + """ " + Формат(Дата,"ДммммГГГГ")
|
|||
9
NS
23.01.12
✎
16:02
|
""""+датадень()+""" "+предыдущий пост
|
|||
10
NS
23.01.12
✎
16:03
|
(8) а так ты получишь 2 январь
|
|||
11
andrewks
23.01.12
✎
16:03
|
(4) извращенец
|
|||
12
zak555
23.01.12
✎
16:03
|
СтрокаДата = ФОрмат (ДАтаНужная , "ДДДММММГГГГ");
Поз = Найти(СтрокаДата , " "); СтрокаДатаНужная = """ + Лев(СтрокаДата , Поз -1 ) + """ + Сред(СтрокаДата , Поз ); |
|||
13
zak555
23.01.12
✎
16:04
|
(8) месяца не будут склоняться (!)
|
|||
14
zak555
23.01.12
✎
16:04
|
(11) ну пока делать-то нечего =)
|
|||
15
NS
23.01.12
✎
16:05
|
(12) нафига что-то искать? День - лев(,2), остальное сред(,3)
|
|||
16
zak555
23.01.12
✎
16:08
|
(15) да =)
|
|||
17
andrewks
23.01.12
✎
16:08
|
(14) если нечего делать, подходи к решению творчески.
например, так: Месяц=Формат(Дата1,"Д ММММ"); ДатаСтрокой=Формат(ДатаЧисло(Дата1),"Ч(0)2")+" "+?(Прав(Месяц,1)="т",Месяц+"а",Лев(Месяц,СтрДлина(Месяц)-1)+"я")+" "+ДатаГод(Дата1)+"г."; две строчки - исключительно из-за оптимизации, а так можно было бы и в одну уложить |
|||
18
zak555
23.01.12
✎
16:09
|
(17) слишком сложно для меня
|
|||
19
andrewks
23.01.12
✎
16:09
|
кавычки забыл
Месяц=Формат(Дата1,"Д ММММ"); ДатаСтрокой=""""+Формат(ДатаЧисло(Дата1),"Ч(0)2")+""" "+?(Прав(Месяц,1)="т",Месяц+"а",Лев(Месяц,СтрДлина(Месяц)-1)+"я")+" "+ДатаГод(Дата1)+"г."; |
|||
20
zak555
23.01.12
✎
16:11
|
(19) держи двойку
|
|||
21
andrewks
23.01.12
✎
16:15
|
(20) сам такой
|
|||
22
lucifer
23.01.12
✎
16:30
|
сделал так
"[лев(ДатаДок,2)]" [сокрлп(сред(Формат(ДатаДок ,"Д (0)ДДММММГГГГ"),найти(Формат(ДатаДок ,"Д (0)ДДММММГГГГ")," "),найти(Формат(ДатаДок ,"Д (0)ДДММММГГГГ")," ")-стрдлина(Формат(ДатаДок ,"Д (0)ДДММММГГГГ"))))] |
|||
23
lucifer
23.01.12
✎
16:30
|
+ мне это в печатной форме нужно было
|
|||
24
Андрюха
23.01.12
✎
16:31
|
Для разнообразия предложу регулярные выражения.
|
|||
25
lucifer
23.01.12
✎
16:38
|
(24) а что в 1с можно регулярку использовать?
|
|||
26
ПиН
23.01.12
✎
16:41
|
опять 25...
|
|||
27
BlackSeaCat
23.01.12
✎
16:48
|
(22) Ты сделал типичную кучу г...внокода.
Потому что чисто по 1Совски не задумался на (7) и (15). Даже с твоим подходом вполне достаточно вот этого: "[лев(ДатаДок,2)]" [сокрлп(сред(Формат(ДатаДок ,"Д (0)ДДММММГГГГ"),3))] |
|||
28
lucifer
23.01.12
✎
16:52
|
(27) спасибо, не знал что так можно
|
|||
29
BlackSeaCat
23.01.12
✎
17:04
|
(28) Это не надо было знать, это надо было чуть-чуть ПОДУМАТЬ.
Дата - первые один (если числа 1-9) или два символа. Значит, месяц в символьной строке даты может начинаться со 2-го или 3-го символа. Но, если он начнется со 2-го символа, то СокрЛП() обрежет первый пробел. И нефиг там искать, да еще два раза! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |