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 —————————————————————————————————————————————————————— ...
随机推荐
- c#中将字符串转换成带2位小数的浮点数
今天遇到一个展示酒店价格的需求,觉得是要显示成“¥0.00”样式的,就做个小随笔,将字符串装换成带2位小数的浮点数 代码如下 "; string amount = string.Empty; ...
- 459. Repeated Substring Pattern
https://leetcode.com/problems/repeated-substring-pattern/#/description Given a non-empty string chec ...
- 为什么要选择OMP之合规性
- JavaScript基础数据类型
一.数值 1.JavaScript不区分整型和浮点型,就只有一种数字类型 2.还有一种NaN,表示不是一个数字(Not a Number) eg: parseInt("ABC") ...
- Hadoop3集群搭建之——虚拟机安装
现在做的项目是个大数据报表系统,刚开始的时候,负责做Java方面的接口(项目前端为独立的Java web 系统,后端也是Java web的系统,前后端系统通过接口传输数据),后来领导觉得大家需要多元化 ...
- [zhuan]SQLServer查询最近一天,三天,一周,一月,一季度方法
三天 select * from T_news where datediff(day,addtime,getdate())<= 2 and datediff(day,addtime,getdat ...
- js生成条形码插件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 师弟推荐软件-/mathpix
将公式扫描为latex:https://mathpix.com/api.html mathtype与latex转换:http://www.mathtype.cn/jiqiao/zhuanhua-gon ...
- 用cglib包来为类产生动态代理类对象
一:在JDK里也有动态代理的类和接口,是Proxy和InvocationHandler,但是Proxy只能为接口产生代理类,借助InvocationHandler的实现类来完成对类对象的代理: 但是在 ...
- Jquery中的事件命名机制
来源:aitangyong的专栏 JQuery中的bind()和unbind(),提供了事件的绑定和取消机制,既可以绑定html默认支持的事件,也能够绑定自定义的事件.JQuery支持自定义事件,这显 ...