powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразование целочисленно представленной даты в таблице к нормальному виду
10 сообщений из 10, страница 1 из 1
Преобразование целочисленно представленной даты в таблице к нормальному виду
    #32491161
XPERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть программа которая сохраняет в базу данных дату и время опреации используя функции самого Access-а в целое число. Мне нужно преобразовать это целое к нормальному виду даты и времени используя какой-то алгоритм.
Понять как Access проводит такое преобразование сложно, но наверное можно. К примеру я понял, что первые пять цифр отвечают за дату, а вторые за время, тогда:
10794##### = 16.03.04
10795##### = 17.03.04
10796##### = 18.03.04
Но вот почему:
10799##### = 22.03.04 ??? если должно быть 21.03.04
Помогите разобраться!
...
Рейтинг: 0 / 0
Преобразование целочисленно представленной даты в таблице к нормальному виду
    #32491179
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CDate()

?
...
Рейтинг: 0 / 0
Преобразование целочисленно представленной даты в таблице к нормальному виду
    #32491180
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
используя функции преобразования самого аксеса - никогда ты таких цифр не получишь.
так что разбирайся с тем, как же именно эта неведомая программа преобразует что-то во что-то
...
Рейтинг: 0 / 0
Преобразование целочисленно представленной даты в таблице к нормальному виду
    #32491181
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>дату и время ... в целое число

вообще-то дата-время - это Double, а не Long

Помогите разобраться!

Тогда давай подробности - из твоего примера ничего не понятно
cdate(10799)=25.07.1929 а не как 22.03.04
...
Рейтинг: 0 / 0
Преобразование целочисленно представленной даты в таблице к нормальному виду
    #32491185
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10:08 все трое :)
...
Рейтинг: 0 / 0
Преобразование целочисленно представленной даты в таблице к нормальному виду
    #32491199
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И если уж на то пошло, то первые 5 цифр не определяют дату (это просто совпадение - в данном конкретном случае)

Если мне память не изменяет, то Акс (или не Акс, а операционка) хранит кол-во тиков (или секунд) прошедших от времени Х

Помоему так - хотя я могу ошибаться, но гуру меня поправят, если я не прав :)
...
Рейтинг: 0 / 0
Преобразование целочисленно представленной даты в таблице к нормальному виду
    #32491214
N_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
?cdbl(#18 /03  /2004 #) 
  38064  
?cdbl(#19 /03  /2004 #)
  38065  
?cdbl(#20 /03  /2004 #)
  38066  
?cdbl(#21 /03  /2004 #)
  38067  
?cdbl(#22 /03  /2004 #)
  38068  
?cdbl(#22 /03  /2004   12  :00 #)
  38068  ,5  
?cdbl(#22 /03  /2004   12  :01 #)
  38068  ,5006944444  
?cdbl(#22 /03  /2004   00  :01 #)
  38068  ,0006944444  
?cdbl(#22 /03  /2004   13  :00 #)
  38068  ,5416666667  
?cdbl(#22 /03  /2004   14  :00 #)
  38068  ,5833333333  

Продолжая тесты несложно вычислить формулу.
...
Рейтинг: 0 / 0
Преобразование целочисленно представленной даты в таблице к нормальному виду
    #32491426
N_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алгоритм примерно такой:
Целая часть - число дней с начиная с 30/12/1899
Дробная часть - время выделить которое можно примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub Test3()
Dim l As Double
Dim Minut  As Long
Dim Secund  As Long
Dim Chasov  As Long
    l =  1234  .50855533 
    l = l - Fix(l)
    Chasov = Fix(l *  24 )
    Minut = Fix((l *  24  - Chasov) *  60 )
    Secund = CLng((l *  24  *  60  - Chasov *  60  - Minut) *  60 )
End Sub
...
Рейтинг: 0 / 0
Преобразование целочисленно представленной даты в таблице к нормальному виду
    #32491434
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 N_A

У XPERT'a нет дробной части - у него Лонг
Он точно время в тиках где-то нарыл
...
Рейтинг: 0 / 0
Преобразование целочисленно представленной даты в таблице к нормальному виду
    #32491824
XPERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо я уже разобрался (не без помощи разработчика программы).
Оказывается это количество секунд начиная с 00:00:00 01.01.1970.
И выглядело к примеру так:
??:??:?? 16.03.04 = 10794 21175
Всем спасибо за помощь!!!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразование целочисленно представленной даты в таблице к нормальному виду
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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