Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

GetSystemTime возвращает не правильное время


Страницы:   1 2

@!!ex ©   (2006-09-15 20:34:00) 

Использую GetSystemTime чтобы получать время по UTC.
Собсвтенно для этого функция и предназначена.....
У меня (+4 GMT) все работает на ура......
Тестил все нормально...
Отослал проект тестерам(Питер +3 GMT)....
Баг.. GetSystemTime возвращает не правильное время.
Отнимает 4 часа вместо 3.......
Внепонятках... Облазил весь инет...
и гуглил и яндексил... эффекта ноль...
Есть предположение что это из-за перехода на летнее время...
Но как с этим боротся?


@!!ex   (2006-09-16 18:43:00) [21]

вопрос закрыт. Забить на GetSystemTime
Считаю UTC вручную.


@!!ex   (2006-09-16 17:50:00) [22]

Ок. Мир.


Ketmar   (2006-09-16 17:45:00) [23]

убедил. не знаю. жди знающего.


@!!ex   (2006-09-16 17:36:00) [24]

Перечитываю всю инфу которую дает MSDN по Теме времени...
Все больше убеждаюсь что вы просто не знаете что сказать, вот и несете бред.


@!!ex   (2006-09-16 17:34:00) [25]

О системнов времени из MSDN
System Time
System time is the current date and time of day. The system keeps time so that your applications have ready access to accurate time. The system bases system time on coordinated universal time (UTC). UTC-based time is loosely defined as the current date and time of day in Greenwich, England.

When the system first starts, it sets the system time to a value based on the real-time clock of the computer and then regularly updates the time. To retrieve the system time, use the GetSystemTime function. GetSystemTime copies the time to a SYSTEMTIME structure that contains individual members for month, day, year, weekday, hour, minute, second, and milliseconds. It is easy to display this format to a user.

You can also obtain the system time in file time format using the GetSystemTimeAsFileTime function. GetSystemTimeAsFileTime copies the time to a FILETIME structure.

To set the system time, use the SetSystemTime function. SetSystemTime assumes you have specified a UTC-based time. If you change the system time, you should send the WM_TIMECHANGE message to all top-level windows by using the SendMessage function.

The GetSystemTimeAdjustment and SetSystemTimeAdjustment functions synchronize the time-of-day clock with another time source using a periodic time adjustment applied at each clock interrupt.

Note that the system can periodically refresh the time by synchronizing with a time source. Because the system time can be adjusted either forward or backward, do not compare system time readings to determine elapsed time. Instead, use one of the methods described in Windows Time.


@!!ex   (2006-09-16 16:57:00) [26]

Еп. Для того чтобы сказать что такое UTC и чем оно отличается от Локального времени мн не надо лезть в справку.
UTC == GMT == Время по гринвичу

UTC это локальное время минус часовой пояс.

В справке написано что-то другое?

Перевожу что написано в справке:
The GetSystemTime function retrieves the current system date and time. The system time is expressed in Coordinated Universal Time (UTC).

Функция GetSystemTime возвращает текущее системное время и дату.
Системное время выражено в UTC.

Между строк написано еще что-то?

Может вы уважаемый просто умничаете и нихера не знаете?
В любом случае я не понимаю какого вы тут умничаете.
Если знаете - подскажите, думать меня учат в ВУЗЕ и на работе.
Но похоже не знаете....


Ketmar   (2006-09-16 15:53:00) [27]

и не подумаем. в справке всё написано. если ты не можешь просто найти информацю о том, что есть UTC, и чем оно отлиячается от локального времени -- тебе нельзя писать программы.
на крайний случай можно было всё выяснить экспериментально. путём вызова этих процедур и сравнения результатов. ты и это сделать поленился. разжёвывают в другом месте. например, на форуме Флёнова. здесь учат думать.


@!!ex   (2006-09-16 07:23:00) [28]

Ну так может объясните идиоту в чем проблема?


Ketmar   (2006-09-16 05:45:00) [29]

> [6] Fay ©   (16.09.06 04:55)
> апстену достаточно
я передумал советовать "ап стену". пусть лучше тредится на благо страны там, где может.


Fay   (2006-09-16 04:55:00) [30]

2 Ketmar ©   (15.09.06 21:39) [5]
> дальше -- меняем клаву на лопату, и в дворники, в дворники...
апстену достаточно


Ketmar   (2006-09-15 21:39:00) [31]

> [4] @!!ex ©   (15.09.06 21:30)
дальше -- меняем клаву на лопату, и в дворники, в дворники...


@!!ex   (2006-09-15 21:30:00) [32]

Итак, нашел, прочитал.
Дальше?


@!!ex   (2006-09-15 21:29:00) [33]

The GetLocalTime function retrieves the current local date and time.

VOID GetLocalTime(

   LPSYSTEMTIME lpSystemTime  // address of system time structure  
  );


Parameters

lpSystemTime

Points to a SYSTEMTIME structure to receive the current local date and time.



Return Values

This function does not return a value.


@!!ex   (2006-09-15 21:28:00) [34]

The GetSystemTime function retrieves the current system date and time. The system time is expressed in Coordinated Universal Time (UTC).

VOID GetSystemTime(

   LPSYSTEMTIME lpSystemTime  // address of system time structure  
  );


Parameters

lpSystemTime

Points to a SYSTEMTIME structure to receive the current system date and time.



Return Values

This function does not return a value.


Ketmar   (2006-09-15 20:44:00) [35]

убить себя об стену. или прочесть, наконец, справку. в которой найти сначала упоминание об UTC, а потом -- о GetLocalTime() и долго удивляться. но лучше убиться об стенку.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо