您的位置:首页 > 编程语言 > Delphi

Delphi两则:1、PDT时间转北京时间,2、条件编译

2008-10-22 11:00 489 查看
1、PDT时间转北京时间   做了个小东西,时间是PDT,而且月份也是英文的。写了个小函数,有用得着的直接copy去:) 有更好的实现方法,请回复。 uses DateUtils;function ConvertPDTDateTime(Str: string): TDateTime;const  EngMonthName: array[1..12] of string = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',                                 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');var  I: Integer;  fs: TFormatSettings;begin  fs.ShortDateFormat := 'mm-dd-yy';  fs.LongDateFormat := 'mm-dd-yyyyy';  fs.DateSeparator := '-';  fs.TimeSeparator := ':';  fs.LongTimeFormat := 'hh:nn:ss';  fs.ShortTimeFormat := 'hh:nn:ss';  fs.TwoDigitYearCenturyWindow := 50;  for I := 1 to 12 do  begin    Str := StringReplace(Str, EngMonthName[I], IntToStr(I), [rfIgnoreCase]);  end;  Result := StrToDateTime(Str, fs);  //PDT是Pacific Daylight Time的简称,意思是太平洋夏令时  //指的是美国西部时间  //-8区 和北京平时差16小时 4-10月夏令时差15小时  if Pos('PDT', Str) > 0 then  begin    if MonthOf(Result) in [4..10] then      Result := IncHour(Result, 15)    else      Result := IncHour(Result, 16);  end;end;
调用方法:ConvertPDTDateTime('Oct-21-08 12:01:10 PDT') 2、关于条件编译: 如果你希望使用命令行dcc32.exe编译工程,请cd到dpr所在目录,否则条件变量可能无法生效(至少我{$I xxx.inc}进来的无效。 
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: