一、不同的电脑时间格式有可能不同,会导致转换时间格式数据时意外报错。
二、需要写几个小函数来统计软件运行过程中的时间格式。
1、数据库日期时间格式函数
function format_sql_datetime(temp_datetime: string; date_interval: string = '/'; time_interval: string = ':'): string;
var
yyyy: string;
mm: string;
dd: string;
hh: string;
minute: string;
ss: string;
temp_result: string;
begin
yyyy := Copy(temp_datetime, 1, 4);
mm := Copy(temp_datetime, 6, 2);
dd := Copy(temp_datetime, 9, 2);
hh := Copy(temp_datetime, 12, 2);
minute := Copy(temp_datetime, 15, 2);
ss := Copy(temp_datetime, 18, 2);
temp_result := yyyy + date_interval + mm + date_interval + dd + ' ' + hh + time_interval + minute + time_interval + ss;
result := temp_result;
end;
2、软件内使用时间部分格式
function format_sys_time(temp_time: string): string;
var
SysFrset: TFormatSettings;
temp_result:string;
hh: string;
minute: string;
ss: string;
sys_time_interval:string;
begin
GetLocaleFormatSettings(GetUserDefaultLCID, SysFrset);
sys_time_interval:=SysFrset.TimeSeparator;
hh := Copy(temp_time, 1, 2);
minute := Copy(temp_time, 4, 2);
ss := Copy(temp_time, 7, 2);
temp_result:= hh+sys_time_interval+minute+sys_time_interval+ss;
result:=temp_result;
end;
3、软件内使用日期部分格式
略,参考时间部分格式修改吧,用SysFrset.DateSeparator获取时间间隔符号
三、在软件运行过程中,各客户使用端由于获取时间的方式不同,会导致查询的结果不同,尽量采用统计获取函数获取时间,尽量采用INTERNET 时间或者服务器时间,如果想减少获取的次数,可以在软件启动时获取一次,然后采用软件内时钟函数获取。