Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2010, 13:04   #1
Anfall
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 181
По умолчанию Как в Delphi узнать текущее UTC время (now)?

Доброго времени суток всем. Собственно говоря, сабж.
Заранее благодарен.
Anfall вне форума Ответить с цитированием
Старый 09.10.2010, 13:29   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

GetTimeZoneInformation даст тебе структуру, где есть поле bias
А дальше по хелпу:
Цитата:
All translations between UTC time and local time are based on the following formula:


UTC = local time + bias


The bias is the difference, in minutes, between UTC time and local time.
Смысл усек?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.10.2010, 15:06   #3
Anfall
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 181
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
GetTimeZoneInformation даст тебе структуру, где есть поле bias
А дальше по хелпу:

Смысл усек?
Спасибо. Примерно понял, но где-то ошибку делаю.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
ZoneInfo: TTimeZoneInformation;
tmp : TDateTime;
begin
tmp:=now+ZoneInfo.Bias;
button1.Caption:=datetimetostr(tmp);
end;
Выдает какой-то бред. Меняет только год, и то на 48096.
Anfall вне форума Ответить с цитированием
Старый 09.10.2010, 15:23   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

GetTimeZoneInformation где?
Ты с ее помощью должен получить значения в ZoneInfo
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.10.2010, 16:27   #5
Anfall
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 181
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
GetTimeZoneInformation где?
Ты с ее помощью должен получить значения в ZoneInfo
Да, точно, забыл.
Добавил: GetTimeZoneInformation(ZoneInfo);
Но все равно, почему-то меняется дата на 12.04, а время остается прежним.

--------------------

Вот еще в интернете откопал:
Код:
var
UTC: TSystemTime;
s:string;
begin
GetSystemTime(UTC);
s:=IntToStr(UTC.wDay)+':'+IntToStr(UTC.wMonth)+':'+
   IntToStr(UTC.wYear)+' '+IntToStr(UTC.wHour)+':'+
   IntToStr(UTC.wMinute)+':'+IntToStr(UTC.wSecond);
Я так понимаю он берет системное время и дату, которые всегда в UTC. Но какой из способов предпочтительнее?

Последний раз редактировалось Anfall; 09.10.2010 в 17:32.
Anfall вне форума Ответить с цитированием
Старый 28.10.2010, 14:12   #6
Diogo76
Пользователь
 
Регистрация: 11.02.2010
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Anfall Посмотреть сообщение
Спасибо. Примерно понял, но где-то ошибку делаю.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
ZoneInfo: TTimeZoneInformation;
tmp : TDateTime;
begin
tmp:=now+ZoneInfo.Bias;
button1.Caption:=datetimetostr(tmp);
end;
Выдает какой-то бред. Меняет только год, и то на 48096.
Ну что ты ему сказал делать, то оно тебе и пишет... ZoneInfo.Bias содержит смещение в минутах от UTC. И что будет, если прибавить число 240 например к переменной типа TDateTime? Попробуй перед прибавлением сделать button1.Caption:=datetimetostr(Zone Info.Bias);
Diogo76 вне форума Ответить с цитированием
Старый 28.10.2010, 14:13   #7
Diogo76
Пользователь
 
Регистрация: 11.02.2010
Сообщений: 13
По умолчанию

GetSystemTime - возвращает UTC (исходя из установок часового пояса на вашем компьютере)
Diogo76 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
текущее время (системное время ) Sirk0 Общие вопросы Delphi 27 07.03.2015 17:52
Время местное, московское и UTC (Time) Sky4x Компоненты Delphi 0 25.04.2010 17:58
Как узнать время в Delphi? cyberandom Помощь студентам 3 06.04.2010 19:59
Текущее время Aндрей Помощь студентам 1 08.05.2009 14:01
Как сделать так, чтобы в TLabel отображались текущее системное время? Bill Gates Общие вопросы Delphi 3 03.01.2008 01:12