Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Получение текущего времени с точностью до милисекунд / 25 сообщений из 26, страница 1 из 2
15.12.2006, 12:54
    #34202709
parasport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Здравствуйте, такой вопрос как получить текущее время с точностью до милисекунд?

Заранее спасибо
...
Рейтинг: 0 / 0
15.12.2006, 13:05
    #34202781
AIZ
AIZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Текущее время чего? Сервера БД или рабочей станции?
...
Рейтинг: 0 / 0
15.12.2006, 13:17
    #34202848
urvas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Если с сервера Oracle -
select systimestamp from dual
...
Рейтинг: 0 / 0
15.12.2006, 13:17
    #34202850
urvas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
SYSTIMESTAMP
-------------
15.12.06 05:16:14,531350000 GMT-05:00

1 rows selected
...
Рейтинг: 0 / 0
15.12.2006, 13:18
    #34202855
parasport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
время - системное
...
Рейтинг: 0 / 0
15.12.2006, 13:22
    #34202874
AIZ
AIZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Может это кому пригодится, правда в сотых долях с начала суток.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
CREATE OR REPLACE FUNCTION GET_TIME_AM
  RETURN NUMBER IS
/*
 * Created by:
 * A. Gerasimov (ASBT) 17.10.1998
 * Purpose:
 * Возвращает время с полуночи в сотых долях секунды
 */
RetTime NUMBER; -- Возвращаемое значение
tmpTime Date;   -- Текущея дата/время
GTime NUMBER;   -- Время в сотых долях секунды с момента загрузки сервера
SecByDay NUMBER; -- Время с начала дня в секундах
BEGIN
   tmpTime:=SYSDATE;
   GTime:=dbms_utility.get_time;
   SecByDay:=To_Number(To_Char(tmpTime,'SSSSS'));
   RetTime:= SecByDay* 100  + (GTime - Trunc(GTime,- 2 ));
   Return RetTime;
END;
...
Рейтинг: 0 / 0
15.12.2006, 13:45
    #34203013
PavelBuilder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
А можно спросить, зачем такая точность? Пока будет выполняться ваш код пройдет не одна милисекунда, так зачем такая точность? Цель?
...
Рейтинг: 0 / 0
15.12.2006, 13:49
    #34203032
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
если реч все-же идет о PowerBuilder ,

то ф-я now() возвращает возвращает время с милисекундами
а вот чтобы их увидеть string( now(), 'hh:mm:ss.fff' )
...
Рейтинг: 0 / 0
15.12.2006, 14:28
    #34203234
parasport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Первичный ключ для одной таблицы имеет формат год+номер дня от начала года+колличество секунд от начала дня, зачем это было придумано я не в курсе. Сейчас эта таблица заполняется посредствам вычитки из файла данных и заполнения датасторе. И вопщем успевают появится совпадающие ключи
...
Рейтинг: 0 / 0
15.12.2006, 14:29
    #34203238
parasport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Спасибо, Дмитрий
...
Рейтинг: 0 / 0
15.12.2006, 14:38
    #34203275
parasport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
спасибо, не помогло:-)
приплюсовывание милисекунд ко всей описанной ранее ерунде результата не дало, реже но повторяются
...
Рейтинг: 0 / 0
15.12.2006, 15:42
    #34203560
PavelBuilder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Переделайте таблицы, создавайте нормальные ключи и связи. Больше ничего не поможет. Нельзя использовать дату в качестве ключа - это аксиома теории структурного анализа.
...
Рейтинг: 0 / 0
15.12.2006, 16:36
    #34203852
boogiman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
>>> To PavelBuilder

Можно, например в качестве cocтавного Primary key... Исходя из текущей логики...

Например... дата + уникальный номер платежа за день... Ну или хотя бы уникальный индекс забодяжить ....
...
Рейтинг: 0 / 0
15.12.2006, 18:34
    #34204292
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Для Oracle существует формирователь уникальной последовательности - сиквенс
Не использовать его - просто безграмотность
...
Рейтинг: 0 / 0
15.12.2006, 19:07
    #34204351
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
2 parasport скажите уже какая у вас база, а то упоминание оракла без вопроса о нем...
уже достало
...
Рейтинг: 0 / 0
15.12.2006, 20:21
    #34204452
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Достало, не достало....
А базу узнать не мешало бы
...
Рейтинг: 0 / 0
16.12.2006, 13:45
    #34204855
parasport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
База Anywhere 9, а вообще вопрос решился тупым добавлением итератора цикла, в котором всё пишется, к той всей бодяге + милисекундам
...
Рейтинг: 0 / 0
18.12.2006, 17:42
    #34208369
PavelBuilder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Вобщем строго говоря нет у вас PK как такового :) тогда нахрена он вообще нужен?
...
Рейтинг: 0 / 0
18.12.2006, 18:52
    #34208600
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
parasportБаза Anywhere 9, а вообще вопрос решился тупым добавлением итератора цикла, в котором всё пишется, к той всей бодяге + милисекундамА если взять и почитать документацию, то выяснится интересная вещь - ASA9 сама по себе умеет записывать и миллисекунды и даже фиктивные миллиардные доли секунды. Достаточно объявить поле типа timestamp default timestamp и не писать в него из клиента.
Но конечно изобретать велосипед намного веселее чем читать документацию.
...
Рейтинг: 0 / 0
19.12.2006, 10:07
    #34209481
PavelBuilder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Все равно нельзя использовать в качестве первичного ключа дату, хотя этого в документации не пишут, но знать об этом надо.

P.S. поле типа timestamp мы всегда добавляем во все таблицы - весьма удобно определить время последней правки записи, заодно можно и user`а прописывать (в триггере реализовать).
...
Рейтинг: 0 / 0
19.12.2006, 11:59
    #34209941
zuzu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
первичный ключ обычно заполняют по сиквенсу,
а насчет доп инфы, у нас есть 3 поля: date_insert, date_mod, code_user,
думаю по названию понятно для чего они юзаются,
а PK как дата - это ошибка, что будет если 2 юзера одновременно выпонят этот инсерт .....
...
Рейтинг: 0 / 0
19.12.2006, 12:03
    #34209958
urvas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Один из них не выполнит... :-)))
...
Рейтинг: 0 / 0
19.12.2006, 15:12
    #34210711
boogiman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
>>> To urvas

А ты юзверам в реальном режиме что будешь отвечать когда бдут появляются ошибки duplckate key is failed?
...
Рейтинг: 0 / 0
19.12.2006, 17:25
    #34211140
urvas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Ну, если уж доводить до конца эту нелепость, то можно перехватить в dberror эту ошибку и заменить значение первичного ключа, а пользователю НИЧЕГО не сообщать. :-)))
...
Рейтинг: 0 / 0
19.12.2006, 17:40
    #34211201
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение текущего времени с точностью до милисекунд
Да, исправлять ошибки непродуманной базы - это разрастать очередной гемор
Типа:
Ошибка была не очень страшна, если бы не попытки ее исправить
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Получение текущего времени с точностью до милисекунд / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]