date time 分开存储如何合并_关于TDateTime的TDate与TTime合并的问题 | 菲菲的家

遇到TDate与TTime合并为TDateTime的问题,想想应该很容易,没想到发现一个百思不得其解的问题,在这里跟大家分享并求教。

比如有两个组件DateTimePicker1和DateTimePicker2,Kind属性分别为dtkDate和dtkTime,一个用来定义TDate值,一个用来定义TTime值,现在要将TDate与TTime合并为TDateTime,我首先想到的方法是以下语句:

NewDateTime: TDateTime;

...

NewDateTime := Int(DateTimePicker1.Date) + Frac(DateTimePicker2.Time);

应该一句话解决问题的,但偏偏就出了问题,最终对NewDateTime的处理结果不对,可是调试将鼠标停在上述语句的NewDateTime上,明明结果正是DateTimePicker1.Date与DateTimePicker2.Time的字符串之和,很是奇怪。

于是,我有采用了另一种迂回方法达到目的,即以下语句:

NewDateTime: TDateTime;

NewDateTimeStr: string;

...

NewDateTimeStr := DateToStr(DateTimePicker1.Date)+' '+ TimeToStr(DateTimePicker2.Time);

NewDateTime := StrToDateTime(NewDateTimeStr);

这次调试将鼠标停在上述语句的NewDateTime上,结果跟第一次的结果一样,都是DateTimePicker1.Date与DateTimePicker2.Time的字符串之和,但最终结果表明,这次的NewDateTime正确。

我对上述问题百思不得其解,虽最终用第2种方法达到了目的,但不明所以,在这里本人虚心请教,还望知道怎么回事的朋友告知。本人使用的是XE2 With Update 4 Hotfix 1。

以下代码证明了上述两种方法得到的不一样TDateTime的结果:

放入两个组件DateTimePicker1和DateTimePicker2,Kind属性分别为dtkDate和dtkTime;放入一个按钮,按钮的OnClick代码为:

procedure TForm1.Button1Click(Sender: TObject);

var

NewDateTimeStr: string;

NewDateTime1, NewDateTime2: TDateTime;

begin

//这样就错误

NewDateTime1 := Int(DateTimePicker1.Date) + Frac(DateTimePicker2.Time);

//这样就正确

NewDateTimeStr := DateToStr(DateTimePicker1.Date)+' '+TimeToStr(DateTimePicker2.Time);

NewDateTime2 := StrToDateTime(NewDateTimeStr);

if NewDateTime1 = NewDateTime2 then

ShowMessage('相等')

else

ShowMessage('不相等')

end;

结果当然是不相等。

~谢谢打赏~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551839.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unsigned long long 溢出 乘_Java整数相加溢出怎么办?Java8一步搞定

问题在之前刷题的时候遇见一个问题,需要解决int相加后怎么判断是否溢出,如果溢出就返回Integer.MAX_VALUE解决方案JDK8已经帮我们实现了Math下,不得不说这个方法是在StackOverflow找到了的,确实比国内一些论坛好多了~加法public s…

计算机模块word2003和2007,以Word2003的名义熟悉Word2007

相信很多朋友都已经用上了最新的Office2007办公套件,Office2007提供了全新的外观、全新的用户界面,用简单明了的单一机制取代了早期版本中的菜单、工具栏和大部分的任务窗格,从而使用户可以更高效、更容易地找到完成各种任务的合适功能&#…

golang python rpc_golang rpc的两种调用方法

golang的rpc有两种方法进行调用,一种是rpc例子中给的:package mainimport ("net/rpc""net/http""log""net""time")type Args struct {A, B int}type Arith intfunc (t *Arith) Multiply(args *Args, …

二级计算机vf里的sql,计算机等级考试二级VF考点:SQL语言

第4章SQL语言(数据查询)一、投影:SELECT 字段 FROM 表名题目:1. 对职工表进行查询,显示职工的职工号。2. 对职工表进行查询,显示所有信息(即所有字段)。二、选择:SELECT 字段 FROM 表名 WHERE 条件题目:3. …

setstate是同步还是异步_谈谈 IO模型:同步、异步、阻塞、非阻塞

同步/异步、阻塞/非阻塞 说的是一回事儿吗?同步/异步、阻塞/非阻塞 你能通俗易懂的讲清楚吗?Java 中的 BIO、NIO、AIO 你了解吗?Socket 编程你还会吗?Linux 操作系统的 IO 模型你能讲讲吗?01. 生活中的同步/异步、阻塞…

tp获取referer里的域名_thinkPHP的redirect跳转和referer使用的问题

如果从Topic/topic页面跳转到Login/login页面 使用$_SERVER[HTTP_REFERER]后再login页面出来的地址是这样的http://localhost/a/jz/index.php/Home/topic/topic,这个地址没错,为什么我使用redirect跳转后地址栏上的地址就变成了这样http://localhost/a/j…

软件测试要求太高,软件“故障门”频现 对软件测试提出更高要求

随着信息化时代的到来,各行各业已离不开各类应用软件,可是频频爆出的软件“故障门”却成为企业发展的“拦路虎”。为了解决“故障门”,众多IT企业不得不加大软件测试领域的投入,有的试图培养高水平的测试团队,有的则希…

md5会重复吗_如何优雅地处理重复请求(并发请求)

点击上方“服务端思维”,选择“设为星标”回复”669“获取独家整理的精选资料集回复”加群“加入全国服务端高端社群「后端圈」利用唯一请求编号去重你可能会想到的是,只要请求有唯一的请求编号,那么就能借用Redis做这个去重——只要这个唯一…

初学者选黑卡还是微单_3500以内的微单相机好用吗?值得初学者入手吗?

2000--3000元的相机还是有一定使用价值的,如果你是拿来学习摄影,这些相机还是足够用的。我们按照京东自营的价格,来搜一下3500块钱以内的微单无反相机,看看有哪些值得入手的。索尼ILCE6000套机今年最低价3198佳能EOS M6一代套机今…

计算机二级excel数据有效性,原来Excel数据有效性还可以这样做——制作二级下拉菜单...

很多时候,在进行设置数据有效性时,我们希望可以根据前一单元格的内容,使用动态的数据选项。如下图为一个员工信息表,现希望在F列制作下拉列表,下拉列表的内容根据E列输入的省份变化而变化,如在E2单元格中输…

python 模块 包 库_模块(包、库)

模块的基本概念:模块是程序,它就是一个扩展名为.py的python程序。因此对于一个.py的python文件而言,既可以把它当作程序来执行,也可以将它作为模块引入。导入一个模块时,python解释器会先自动在当前路径下搜索要导入的…

计算机网络课设题目java_java课程设计参考题目

参考题目选题原则:所完成的系统应能够在生活、学习中使用,以实用性为主。模仿生活、学习中使用到的各种软件,做mini版本。开发的目标是自己、同学愿意使用你所开发的软件完成一些简单任务。从小功能着手,一点点的添加功能。添加一…

win7系统安装信息服务器不可用怎么办,Win7系统下iis服务器应用程序不可用怎么办?...

Win7系统用户在使用电脑系统时都有自带可以方便用户们搭建网站的iis服务器。不过也有Win7系统用户反映在电脑系统里添加或删除组件时iis服务器无法添加,还弹跳出了应用程序不可用的提示窗口,这使用户非常苦恼,那么Win7系统下iis服务器应用程序…

python协同过滤电影推荐_基于协同过滤的电影推荐系统的设计与实现

龙源期刊网http://www.qikan.com.cn基于协同过滤的电影推荐系统的设计与实现作者:张玉叶

++ 多核cpu 并行_一文读懂什么是多核并行计算(三)

导读:面向应用工程师的商业软件咨询、自研软件定制开发服务的仿真公众号,点击关注进入菜单,查看更多精彩内容。(三)如何实现多核并行计算呢?了解了多核、多Machine、多Rack后,我可以看一下软件(程序)是如何对这些资源进…

诺禾致源css客户端,诺禾,诺禾致源:CSS 基础教学

伦多星报 2020-07-06 17:14:58Applying CSS and JavaScript to HTML当今您将使用的几乎所有网站都将使用CSS使它们看起来很酷,并使用JavaScript来支持交互式功能,例如视频播放器,地图,游戏等. 这些最常分别使用元素和元素应用于网…

python 文档操作_Python 文件操作

一. Python 读写 创建文件Python中对文件,文件夹(文件操作函数)的操作需要涉及到OS 模块和 shutil 模块 .一) . OS模块 的基本操作方法功能os.getcwd()得到当前工作目录,及当前Python脚本工作的目录路径os.listdir()返回指定目录下的所有文件和目录名:os.remoce()函数用来删除一…

vc读取北通手柄按键_《噬血代码》手柄怎么操作 北通手柄按键功能详解

噬血代码手柄怎么操作?应该很多朋友都还不是很清楚吧,所以呢小编今天给大家带来的就是噬血代码北通手柄按键功能详解,需要的朋友不妨进来看看。北通手柄按键功能详解游戏介绍本作是由《噬神者》的开发团队带来的完全新作,是迷宫探…

服务器放行6in4协议,最简单的接入IPv6网络的方法 – 6in4隧道

很多大学的校园网启用了IPv6,并且建设了很多IPv6专享的资源。毕业离校,由于现在的网络运营商绝大部分尚未支持IPv6,所以那些资源也就离我们远去了。机缘巧合之下,我知道了,原来我们可以这样接入IPv6网络。目前接入IPv6…

python自动寻路模板_Python实现的简单模板引擎功能示例

本文实例讲述了Python实现的简单模板引擎功能。分享给大家供大家参考,具体如下:#coding:utf- 8__author__"sdm"__author_emailsdmzhu3gmail.com__date__ "$2009-8-25 21:04:13$" pytpl 类似 php的模板类 import sysimport StringIOi…