Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Как получить дату/время в заданном виде


Автор: wofs 19.10.2011, 19:27
Собственно как получить на Delphi дату/время вида 
Код

Sat, 30 Dec 2006 00:00:00 +0300
 
Если можно - пример, а то с FormatDateTime голову сломал, так не выходит.

Автор: Snowy 19.10.2011, 19:47
Это интернет GMT формат.
Поможет функция LocalDateTimeToGMT в модуле IdGlobal из состава Indy.
Никаких заморочек - просто скорми дататайм, получишь готовую строку.

Автор: wofs 19.10.2011, 19:53
о, спасибо!!!

Автор: wofs 19.10.2011, 20:18
наткнулся еще на функцию, может кому пригодится
Код

function RFC822Date(const d: TDateTime): string; 
const // as defined by Standard for the Format of ARPA Internet Text Messages, 
      // section 5.1: http://www.sendmail.org/rfc/0822.html#5 
  Days  : Array [1..7] of string = 
          ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'); 
  Months: Array [1..12] of string = 
          ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 
           'Nov', 'Dec'); 
var 
  dd, mm, yy, hh, mn: Word; 
  tz : TIME_ZONE_INFORMATION; 
  dt: TTime; 
  gmt: string; 
begin 
  DecodeDate(d, yy, mm, dd); 

  // compute GMT bias 
  GetTimeZoneInformation( tz ); 
  hh := abs(tz.Bias div 60); // hours 
  mn := abs(tz.Bias mod 60); // minutes 
  dt := EncodeTime(hh, mn, 0, 0); 
  if ( (tz.Bias div 60) < 0) then 
    gmt := '+' + FormatDateTime('hhnn', dt) 
  else 
    gmt := '-' + FormatDateTime('hhnn', dt); 

  Result := Days[ DayOfWeek(d) ] + ', ' + 
            IntToStr( dd ) + ' ' + 
            Months[ mm ] + ' ' + 
            IntToStr( yy ) + ' ' + 
            FormatDateTime('hh:nn:ss', d) + ' ' + gmt; 

end; 


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)