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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2017, 12:31   #1
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 211
Вопрос Convert DateTime () > TFormatSettings ()

Всем привет,
Юзая WinInet получаю дату изменения файла на сервере:
Код:
Result := GetQueryResult(url, AgentB, HTTP_QUERY_LAST_MODIFIED);
возвращает результат в формате:
Код:
Thu, 31 Aug 2017 15:04:03 GMT
Как мне конвертировать данный результ в удобочитаемый вид, используя TFormatSettings и получить следующий вид даты и времени:
Код:
2017-08-31 15:04:03
XerSon вне форума Ответить с цитированием
Старый 03.09.2017, 14:09   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Убрать начало и конец, месяц заменить на его номер, вместо пробела в дате какой-то разделитель. И получить чего-то типа '31/08/2017 15:04:03' Манипуляции с форматами ddd, mmm и пробелом в качестве разделителя в дате ни к чему путевому не привели ((
Код:
  GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT,xFormatSettings);
  xFormatSettings.ShortDateFormat:='dd/mm/yyyy';
  xFormatSettings.DateSeparator:='/';
  xFormatSettings.LongTimeFormat:='hh:nn:ss';
  xFormatSettings.TimeSeparator:=':';
  Edit1.Text:=FormatDateTime('yyyy-mm-dd hh:nn:ss',StrToDateTime('31/08/2017 15:04:03', xFormatSettings));
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.09.2017, 15:16   #3
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 211
По умолчанию

Спасибо за пример, но нашел рабочий код, не совсем то но будем реализовывать под себя.
http://www.kansoftware.ru/?tid=5080

Последний раз редактировалось XerSon; 03.09.2017 в 17:35.
XerSon вне форума Ответить с цитированием
Старый 03.09.2017, 17:24   #4
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 211
По умолчанию

И после вызова функции:
Код:
var
  mDate: String;
begin
mDate := DateTimeToStr(RfcTimeToDateTime((mDate), False));
end
сделал так:
Код:
var
  InFrmSet, OutFrmSet: TFormatSettings;
begin
  { ______________________Конвертируем Формат Даты и времени________________ }
  { _____________________________31.08.2017 15:04:03________________________ }
  InFrmSet.ShortDateFormat := 'dd.mm.yyyy';
  InFrmSet.DateSeparator := '.';
  InFrmSet.LongTimeFormat := 'hh:nn:ss';
  InFrmSet.TimeSeparator := ':';
  { _____________________________2017-08-31 15:04:03________________________ }
  OutFrmSet.ShortDateFormat := 'yyyy-mm-dd';
  OutFrmSet.DateSeparator := '-';
  OutFrmSet.LongTimeFormat := 'hh:nn:ss';
  OutFrmSet.TimeSeparator := ':';

  mDate := DateTimeToStr(StrToDateTime(mDate, InFrmSet), outFrmSet);
end
XerSon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
convert object ts-alan JavaScript, Ajax 6 27.08.2013 17:22
Convert to HEX kineziz Общие вопросы C/C++ 3 08.06.2013 19:13
Convert.ToInt32 alex_triton Помощь студентам 9 23.10.2011 22:02
Convert.ToString D][mon C# (си шарп) 3 03.08.2011 08:38
Convert Voucik Общие вопросы .NET 2 14.04.2008 14:16