全部博文(788)
分类:
2009-01-04 16:55:43
用 FormatDateTime 转换比较好的,比如FormatDateTime('yyyymmdd',Now());如果是Sql Server,数据库会自己识别和转换传来的字符串,关系不大。
如果 客户端,服务端都是你做的话
在程序初始化时都
ShortDateFormat := 'yyyy-mmm....
LongDateFormat := 'yyyy-mmm....
给这两个全局量给个值,这样日期格式就不由系统设置变了
FormatDateTime 统一标准 例如 2005-09-28 就可以了 楼上踢踏正解!
为什么要转成字符串呢,datetime本来就是浮点型的值,直接传不就行了。
传数值应该比穿字符快!
我必须要把它传成 String . 系统需要
日期转double,double再转字符串! 用double传数据!
到服务器端,字符串转double,double再转日期!
在程序中将日期利用formatdatetime('yyyy-mm-dd',now())
这样保证格式能够一致
如果用datetostr有时会以字符串中有汉字(我就遇到过)
所以我觉得还是 formatdatetime较好
日期转double,double再转字符串! 用double传数据!
double 转 string 太长了
在程序中将日期利用formatdatetime('yyyy-mm-dd',now())
这样保证格式能够一致
如果用datetostr有时会以字符串中有汉字(我就遇到过)
所以我觉得还是 formatdatetime较好
------------------------
关键是 用 formatdatetime('yyyy-mm-dd',now())
得到的 String 如何再转成 TDateTime
如果是Sql Server数据库,传Double型数据不理想的,原因是Sql Server和Delphi定义的时间起点是不一致的,相差了几天,大家可以自己看看
select convert(datetime,0) ----》 1900-01-01 00:00:00.000
DateTimePicker1.DateTime:=0 ----》 1899-12-30
那就用记录或者列表打包嘛...分别把年月日放到不同的字段里
如果是SOAP通信,那就更容易了,直接打成XML包