Преобразуйте строку UTC в TDatetime в Delphi

Как указано в спецификации ответ ДОЛЖЕН быть HTTP 201 с перенаправлением. Таким образом, это не обязательно для поставщика браузера для реализации корректного ответа...

необходимо попытаться измениться на 30x код, чтобы видеть, перенаправляется ли он правильно. Если так, это - проблема браузера, еще это может прибыть из Вашего кода (я ничего не знаю в ASP.NET, таким образом, я не могу "проверить" Ваш код)

6
задан Remy Lebeau 14 October 2016 в 15:02
поделиться

2 ответа

This looks like an internet protocol related activity, so you should have no problems in using the Win32 API for this. However note, that Windows does not correctly support conversion to/from UTC for historical dates that are more than approximately 20 years old - Windows simply doesn't have enough details in its time zone settings for that.

0
ответ дан 17 December 2019 в 07:06
поделиться

Я не знаю, почему так много людей стреляют себе в рот, когда не понимают, о чем говорят? Я должен выполнять эту черную работу; Это инструмент RAD? Однако я иногда нахожу, что у Delphi действительно превосходная архитектура.

procedure setISOtoDateTime(strDT: string);
var
  // Delphi settings save vars
  ShortDF, ShortTF : string;
  TS, DS : char;
  // conversion vars
  dd, tt, ddtt: TDateTime;
begin
  // example datetime test string in ISO format
  strDT := '2009-07-06T01:53:23Z';

  // save Delphi settings
  DS := DateSeparator;
  TS := TimeSeparator;
  ShortDF := ShortDateFormat;
  ShortTF := ShortTimeFormat;

  // set Delphi settings for string to date/time
  DateSeparator := '-';
  ShortDateFormat := 'yyyy-mm-dd';
  TimeSeparator := ':';
  ShortTimeFormat := 'hh:mm:ss';

  // convert test string to datetime
  try

    dd := StrToDate( Copy(strDT, 1, Pos('T',strDT)-1) );
    tt := StrToTime( Copy(strDT, Pos('T',strDT)+1, 8) );
    ddtt := trunc(dd) + frac(tt);

  except
    on EConvertError do
      ShowMessage('Error in converting : ' + strDT);
  end;

  // restore Delphi settings
  DateSeparator := DS;
  ShortDateFormat := ShortDF;
  TimeSeparator := TS;
  ShortTimeFormat := ShortTF;

  // display test string
  ShowMessage ( FormatDateTime('mm/dd/yyyy hh:mm:ss', ddtt) );
end;

http://coding.derkeiler.com/Archive/Delphi/comp.lang.pascal.delphi.misc/2006-08/msg00190.html

3
ответ дан 17 December 2019 в 07:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: