Как преобразовать дату в текст в нужном формате?

  • Автор темы Sandro
  • Дата начала
S

Sandro

#1
Как сделать, что бы функция Today формировалась в формате даты региональной настройки клиента ? Перерыл хэлп ничего не нашёл ((((
 

nvyush

Lotus team
22.04.2009
2 317
0
#2
Функция Today возвращает значение типа дата. Для вывода значения даты в нужном формате у поля/столбца нужно установить соответствующие свойства. Для преобразования даты в строку на ЛС есть функция Format.
 
S

Sandro

#3
Формат пробовал, но он всё равно берёт формат с сервера, если вставлять дату в поле и оттуда брать в отчёт всё нормально, но плодить tmp поля не хочется, на сколько понимаю это сказывается и на производительности и на объёме БД. Формат поля тоже не известен, потому как некоторые используют dd/mm/yyyy, некоторые dd.mm.yyyy, некоторые dd.mm.yy , вот и интересуюсь можно ли получить дату и конвертировать её в форме локальных настроек пользователя
 

nvyush

Lotus team
22.04.2009
2 317
0
#4
Дату нужно хранить в поле типа дата, тогда и проблем не будет. Если у Вас пользователи сохраняют дату в текстовом формате, то задача в принципе не решаема, т.к. Вы никогда не узнаете 05.06.2010 — это пятое июня или шестое мая.
 

hosm

* so what *
18.05.2009
2 442
6
#5
еще скриптом иожно получить разделитель для дат и формат даты (isDateDMY) через Notessession.International или Notessession.InternationalSettings (всё по памяти - сейчас нет лотуса под рукой)
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#9
nvy
ToxaRat
Это вы мне код показали? :ya_lamo:
Т.е. вас не смутило заявление, что функция Format() "берёт формат с сервера"?
 
S

Sandro

#10
да ну? а можно код поглядеть такой?

есть еще класс NotesDateTime

Туплю наверно, но когда работаю с базой на локальной машине всё работает как надо, размещаю на сервере, выдаёт буржуйский формат, выдаёт это значит выводится в excel, делаю MessageBox с переменной которую вставляю, формат нормальный, а в эксель вставляется В БУРЖУЙСКОМ, тип поля в excel - Общий , ничего не понимаю, буду разбираться. Дело не в сервере похоже, сорри за дезу.
 

nvyush

Lotus team
22.04.2009
2 317
0
#11
Akupaka
Прошу обратить внимание на дату/время наших сообщений #6 и #7.
Что касается "берёт формат с сервера" — то должны браться настройки по месту исполнения кода. Если отчёт формируется серверным агентом, то и дата будет в формате сервера. В принципе и это можно обойти, "подсунуть" агенту дату в формате клиента через документ или даже просто передать формат в аргументе NoteID метода RunOnServer.


Добавлено:
Туплю наверно, но когда работаю с базой на локальной машине всё работает как надо, размещаю на сервере, выдаёт буржуйский формат, выдаёт это значит выводится в excel, делаю MessageBox с переменной которую вставляю, формат нормальный, а в эксель вставляется В БУРЖУЙСКОМ, тип поля в excel - Общий , ничего не понимаю, буду разбираться. Дело не в сервере похоже, сорри за дезу.
Сделайте тип поля в Excel текстовый. Если сделать тип дата, опять надо будет плясать с настройками отображения, но уже для Excel.
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#12
ошу обратить внимание на дату/время наших сообщений #6 и #7.
гыыы

В принципе и это можно обойти, "подсунуть" агенту дату в формате клиента через документ
Иногда желательно прийти к решению оформлять дату в едином стиле в рамках одной организации, имхо.
Соотв, где надо приводить формат явно.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#13
если сувать в хехель "по месту" как дату - усё будет ок на локальном компе
с цифирьками не раз проверето
не раз ужо делали так - цитрикс в дании, там ахапта, выгруз в хехель, копирование файло в москву, циферьки получаются в местном формате