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

Тема в разделе "Lotus - Программирование", создана пользователем Sandro, 11 июн 2010.

  1. Sandro

    Sandro Гость

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

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Функция Today возвращает значение типа дата. Для вывода значения даты в нужном формате у поля/столбца нужно установить соответствующие свойства. Для преобразования даты в строку на ЛС есть функция Format.
     
  3. Sandro

    Sandro Гость

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

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Дату нужно хранить в поле типа дата, тогда и проблем не будет. Если у Вас пользователи сохраняют дату в текстовом формате, то задача в принципе не решаема, т.к. Вы никогда не узнаете 05.06.2010 — это пятое июня или шестое мая.
     
  5. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    еще скриптом иожно получить разделитель для дат и формат даты (isDateDMY) через Notessession.International или Notessession.InternationalSettings (всё по памяти - сейчас нет лотуса под рукой)
     
  6. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    да ну? а можно код поглядеть такой?

    есть еще класс NotesDateTime
     
  7. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Format(Today, "Short Date") ?
     
  8. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    @Text(@Today;"D0T0")
     
  9. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    nvy
    ToxaRat
    Это вы мне код показали? :ya_lamo:
    Т.е. вас не смутило заявление, что функция Format() "берёт формат с сервера"?
     
  10. Sandro

    Sandro Гость


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

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Akupaka
    Прошу обратить внимание на дату/время наших сообщений #6 и #7.
    Что касается "берёт формат с сервера" — то должны браться настройки по месту исполнения кода. Если отчёт формируется серверным агентом, то и дата будет в формате сервера. В принципе и это можно обойти, "подсунуть" агенту дату в формате клиента через документ или даже просто передать формат в аргументе NoteID метода RunOnServer.


    Добавлено:
    Сделайте тип поля в Excel текстовый. Если сделать тип дата, опять надо будет плясать с настройками отображения, но уже для Excel.
     
  12. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    гыыы

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

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    если сувать в хехель "по месту" как дату - усё будет ок на локальном компе
    с цифирьками не раз проверето
    не раз ужо делали так - цитрикс в дании, там ахапта, выгруз в хехель, копирование файло в москву, циферьки получаются в местном формате
     
Загрузка...

Поделиться этой страницей