TDateTime 的相关用法
年纪大了真的记忆力越来越差,这段时间现在开始摸 XE2了,昨天在项目组中看到编译顺序,今天再想看看在那里就是找不到了!看来想到的东西还是要记录下来!
TDateTime 是 Delphi里常用的类,负责时间的存储,他与C#里面的是有区别的(用了一段时间的C#,回国头来,Delphi有点不习惯了,呵呵),基础类型是Double,其取值范围是 从 12/30/1899开始,比如6:00 AM 12/29/1899就是 -1.25 整数部分就是天,小数部分表示一天的几分之。
1秒钟就是 1/(60*60*24)
1分钟就是 1/(60*24)
1小时就是 1/24
真如大家所想到的,一分钟,一小时,一秒 已经是delphi提供的Const了。
常用的函数包括:
now(),date(),time()year(),DateTimetoStr(),FormatDateTime()replaceDate(),replaceTime()isLeapYear(),EncodeDateTime(),EncodeTime(),EncodeDate()strToDateTime()
其实知道TDateTime本质,问题就很好解决了,用以上函数仅仅为了方便。
比如:
求出前一天
- now()-1;
- IncDay(now(),-1);
- YesterDay(now());
如果是两个时间的组合比如用两个DateTimePick,一个的类型是时间,一个类型是日期。那么如何合成一个有效的时间呢?
- replaceDate(DateTimePick1.dateTime,DateTimePick2.dateTime));
- EncodeDateTime();
- Int(DateTimePick1.dateTime)+(DateTimePick2.dateTime-trunc(DateTimePick2.dateTime));
- Int(DateTimePick1.dateTime)+Frac(DateTimePick2.dateTime);
求出前30分钟
- now()-30*(1/60/24)
- IncMinute(now(),-30)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库