TDateTimePicker中Date与Time的误导
一、DateTime,Date,Time存储方式本质上也是以double来存储的。用整数部分表示日期,小数部分表示时间。可看我另外一篇“access 中“日期/时间”存储方式 ”
TDateTimePicker有上面三种属性。
二、TDateTimePicker的kind属性设置为dtkDate用于显示日期,第二个kind设置为dtkTime用于显示时间,但是不能同时显示的。
三、用DateTimePicker.Date和Time的值要注意:取Date要用trunc取整得到,取Time要用frac取小数得到。
四、DateTimePicker的Date,Time,DateTime三者是相等的。
下面这个例子看一下:
新建一个工程放入一个TDateTimePicker、两个TEdit、两个按钮,并设置两个按钮的事件代码如下
{DateTimePicker1的日期和时间设置为:2010-03-26 13:00:00}
procedure TForm1.Button1Click(Sender: TObject); //取出Date部分,并判断它的值
var
t:TDateTime;
begin
t:= DateTimePicker1.Date;
Edit1.Text:=DateTimeToStr(t);
end;
procedure TForm1.Button2Click(Sender: TObject); //判断取Date和DateTime是否相等
begin
if DateTimePicker1.Time = DateTimePicker1.DateTime then
begin
Edit2.Text:='相等'
end
else
begin
Edit2.Text:='不相等';
end;
end;
可以看到虽然我们的代码中只取了Date或是Time,但是它们的值和DateTime的值是相等的。
所以如果你用如下代码
{DateTimePicker1的日期和时间设置为:2010-03-26 13:00:00}
procedure TForm1.Button1Click(Sender: TObject); //取出Date部分,并判断它的值
var
t:TDateTime;
begin
t:= DateTimePicker1.Date + DateTimePicker1.Time;
//t:= trunc(DateTimePicker1.Date)+frac(DateTimePicker1.Time);//这才是等到DateTimePicker1的日期和时间
Edit1.Text:=DateTimeToStr(t);
end;
结果是:2120-6-21 2:00:00
相当于是把DateTimePicker1的时间和日期乘以2了,并不是说DateTimerPicker的Date+Time就和DateTime相等。
而用 trunc取整数部分 加上 frac取小数部分 函数,两者取出来的和就会和原来相等。
参考:
http://ifso.iteye.com/blog/1752420
TDateTimePicker中Date与Time的误导的更多相关文章
- javascript中Date对象的应用——简易日历的实现
× 目录 [1]效果 [2]HTML [3]CSS[4]JS 前面的话 简易日历作为javascript中Date对象的常见应用,用途较广泛.本文将详细说明简易日历的实现思路 效果演示 HTML说明 ...
- Java中Date各种相关用法
Java中Date各种相关用法(一) 1.计算某一月份的最大天数 Java代码 Calendar time=Calendar.getInstance(); time.clear(); time.set ...
- Linux中date命令的各种实用方法--转载
在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,自己也曾经为时间的各种表示方法和如何修改时间而困惑,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的 ...
- javascript 的Date 格式化, 模仿shell中date命令的格式
原文:javascript 的Date 格式化, 模仿shell中date命令的格式 shell 中显示当前的日期 [root@localhost]$ date '+%Y-%m-%d %H:%M:%S ...
- Java中Date和Calender类的使用方法
查看文章 Java中Date和Calender类的使用方法 2009-10-04 20:49 Date和Calendar是Java类库里提供对时间进行处理的类,由于日期在商业逻辑的应用中占据着 ...
- php 中date显示时间不对与Linux文件乱码问题
php 中date显示时间不对解决办法如下1.修改/etc/php.ini文件 在里头中找到data.timezone =去掉它前面的分号';' 然后设置data.timezone = “Asia/S ...
- javascript中Date对象的应用
前面的话 简易日历作为javascript中Date对象的常见应用,用途较广泛.本文将详细说明简易日历的实现思路 效果演示 HTML说明 使用type=number的两个input分别作为年和月的输入 ...
- PAT——不吉利的日期(java中date和Calendar使用)
题目描述 在国外,每月的 13 号和每周的星期 5 都是不吉利的.特别是当 13 号那天恰好是星期 5时,更不吉利. 现在给你一个年份,请你从小到大依次输出当年所有13 号是星期 5 的月份. 输入描 ...
- SpringMVC返回Json,自定义Json中Date类型格式
http://www.cnblogs.com/jsczljh/p/3654636.html —————————————————————————————————————————————————————— ...
随机推荐
- Roslyn研究随笔
Roslyn概述: http://blogs.ejb.cc/archives/7604/dotnet-compile-platform-roslyn-overview 使用Microsoft Rosl ...
- python学习 day1 (3月1日)
01 cpu 内存 硬盘 操作系统 CPU:中央处理器,相当于人大脑. 飞机 内存:临时存储数据. 8g,16g, 高铁 1,成本高. 2,断电即消失. 硬盘:长期存储大量的数据. 1T 512G等等 ...
- 爬取微博的数据时别人用的是FM.view方法传递html标签那么jsoup怎么解析呢
使用JSOUP就行 这里给出点思路 我只做了自己的首页和其他人的微博首页的抓取 其他的抓取没尝试(不好意思 比较懒...) 首先是利用JSOUP进行登陆 获取页面 看了下微博的登陆表格 发现用了aja ...
- 2018.10.31 bzoj4737: 组合数问题(lucas定理+容斥原理+数位dp)
传送门 这是一道让我重新认识lucaslucaslucas的题. 考虑到lucaslucaslucas定理: (nm)≡(n%pm%p)∗(npmp)\binom n m \equiv \binom ...
- ThinkPHP 二维码生成
请求获取并展示二维码 <img src="<?php echo U('createCode?zsnumber='.$time.$kcname['id'].$stuInfo['id ...
- 调试问题集之——Max10中配置完成后程序不能运行
CONF_DONE信号是一个双向信号并且是Open-Drain.在配置过程中和配置之前作为输出,且为低电平.配置完成之后CONF_DONE作为输入脚,因为Open-Drain,所以必须由外部拉高,但二 ...
- .net Json JavaScriptSerializer JsonHelper类
结合.net 的JavaScriptSerializer 类实现Json数据处理 调用1: Model.Users m = BLL.UsersBLL.GetUserById(Convert.ToInt ...
- Struts2-result
所有result-type <result-types> <result-type name="chain" class="com.opensympho ...
- 给公司服务器装web服务器,邮件服务器——安装SecureCRT
系统用centos5.9 首先在window上安装SecureCRT终端 1:首先验证安装secureCRT的本地机和linux服务器能否ping的通: 2:判断linux 服务端是否安装了ssh 若 ...
- Leetcod--20. Valid Parentheses(极简洁的括号匹配)
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...