Delphi中将GMT时间转换成本地时间的方法

Delphi中将GMT时间转换成本地时间的方法:

1. 定义一个枚举类型 

  type

    TMonth= (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);  //定义一个枚举类型

2.在 implementation 下  引用以下单元.

     uses 

         DateUtils, TypInfo;

3.函数实现如下:

function ConvertGMTTimeToLocalTime(GMTTimeStr: string): string;
var
  TimeStrList: TStringList;
  Month: string;
  LocalTime: TDateTime;
begin
  //GMTTIME Tue, 02 Dec 2014 05:34:15 GMT
  Result := '';
  if Trim(GMTTimeStr) = '' then Exit;
  try
    GMTTimeStr := Copy(GMTTimeStr, Pos(',', GMTTimeStr) + 1, MaxInt);
    GMTTimeStr := StringReplace(GMTTimeStr, 'GMT', '', []);
    GMTTimeStr := Trim(GMTTimeStr);
    TimeStrList := TStringList.Create;
    while (Pos(' ', GMTTimeStr) > 0) do
    begin
      TimeStrList.Add(Copy(GMTTimeStr, 1, Pos(' ', GMTTimeStr) - 1));
      GMTTimeStr := Copy(GMTTimeStr, Pos(' ', GMTTimeStr) + 1, MaxInt);
    end;
    TimeStrList.Add(GMTTimeStr);
    case TMonth(GetEnumValue(TypeInfo(TMonth), TimeStrList[1])) of
    Jan: Month := '01';
    Feb: Month := '02';
    Mar: Month := '03';
    Apr: Month := '04';
    May: Month := '05';
    Jun: Month := '06';
    Jul: Month := '07';
    Aug: Month := '08';
    Sep: Month := '09';
    Oct: Month := '10';
    Nov: Month := '11';
    Dec: Month := '12';
    end;
    LocalTime := StrToDateTime(TimeStrList[2] + '-' + Month + '-' + TimeStrList[0] + ' ' + TimeStrList[3]);
    LocalTime := IncHour(LocalTime, 8);
    Result := FormatDateTime('YYYY-MM-DD HH:MM:SS', LocalTime);
  finally
    FreeAndNil(TimeStrList);
  end;
end;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值