为了在日志文件中写入标准格式的时间。要将时间(Now() 转换到字符格式 " YYYY-MM-DD hh:mm:ss zzz"
就编写了此函数,delphi系统自身也带了转换函数 formatDateTime('YYYY-MM-DD hh:mm:ss zzz',Now())
也可以实现此功能。考虑到我这个是固定格式的转换函数,作进一步的优化。
//实际测试效果
运行 1,000,000 次 FormatDateTime()===>2825ms
sfFormatDatTime() ==>545ms
//YYYY-MM-DD hh:mm:ss zzz
procedure sfFormatDateTime(OutBuff:PChar;ADateTime:TDateTime);
const
strDay:string =
'010203040506070809101112131415161718192021222324252627282930' +
'313233343536373839404142434445464748495051525354555657585960' +
'6162636465666768697071727374757677787980' +
'81828384858687888990919293949596979899';
str10:string = '0123456789';
var
Year,Month,Day,HH,MM,SS,ZZZ:WORD;
P:PChar;