同步服务器时间莫名其妙,求高手指点!!!!
时间:2011-11-28
来源:互联网
我同步服务器时间如下:
var
uLastSyncTimeWithServer : double; // last synchronize time with server.
uLastSyncTimeWithServer : double; // interval time between work station and server
function ngGetServerTime: TDateTime;
begin
if abs(Now - uLastSyncTimeWithServer) > 1/24 then begin
with ClientRunQuery('SELECT GETDATE()') do try //客户端运行取服务期时间
uIntervalTimeWithServer := Now - Fields[0].AsFloat;
uLastSyncTimeWithServer := Now;
finally
Free;
end;
end;
Result := Now - uIntervalTimeWithServer;
end;
保存时
...
FieldByName('SysLMDate').AsDateTime := ngGetServerTime;
Post;
现在的问题是有的部分客户保存的时间为1899-12-30 0:00:27。
求各位高人指点小弟,一般情况下都是正常的,但是有这个情况出现,我想哪里有问题,自己想了半天没想通,是不是客户自己的系统时间有问题?谢谢
var
uLastSyncTimeWithServer : double; // last synchronize time with server.
uLastSyncTimeWithServer : double; // interval time between work station and server
function ngGetServerTime: TDateTime;
begin
if abs(Now - uLastSyncTimeWithServer) > 1/24 then begin
with ClientRunQuery('SELECT GETDATE()') do try //客户端运行取服务期时间
uIntervalTimeWithServer := Now - Fields[0].AsFloat;
uLastSyncTimeWithServer := Now;
finally
Free;
end;
end;
Result := Now - uIntervalTimeWithServer;
end;
保存时
...
FieldByName('SysLMDate').AsDateTime := ngGetServerTime;
Post;
现在的问题是有的部分客户保存的时间为1899-12-30 0:00:27。
求各位高人指点小弟,一般情况下都是正常的,但是有这个情况出现,我想哪里有问题,自己想了半天没想通,是不是客户自己的系统时间有问题?谢谢
作者: jonathanbear 发布时间: 2011-11-28
如果客户这样输入结果就是这样
还有一种情况,就是在Delphi中只输入时间,但SQL数据库在保存的时候,会自动加上这个最小的日期
还有一种情况,就是在Delphi中只输入时间,但SQL数据库在保存的时候,会自动加上这个最小的日期
作者: kaikai_kk 发布时间: 2011-11-28
时间格式要看sql数据库的设定,有时要做时区转换的
作者: funxu 发布时间: 2011-11-28
数据库中是datetime类型的,我这里取时间没有客户输入的部分呀
作者: jonathanbear 发布时间: 2011-11-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28