kbmmw 中的日期时间操作
为了精确度反映时间及时区,kbmmw 里面专门有一个单元处理日期时间,由于很多同学习惯了delphi
自带的Tdatetime,使用这个时会有一些疑惑,因此今天就单独说一下这个。
首先kbmmwdatetime 里面使用UTC 时间作为基本计时标准,然后可以转换为其他时区。
Tkbmmwdatetime.Create(now);
这个其实并不是返回我们当前的时区时间。
如果要返回当前时区的时间,有两个方法,
一种是通过ISO8601 标准格式赋值得到,
Tkbmmwdatetime.Create('2018-04-30T13:02:15.417+08:00');
另外一种是通过kbmmw提供的类函数得到
Tkbmmwdatetime.Create( Tkbmmwdatetime.Now) ;
现在通过以下代码说明。
procedure TForm1.Button1Click(Sender: TObject);
var
t1:Tkbmmwdatetime; t2:Tkbmmwdatetime; begin
t1:=Tkbmmwdatetime.Create('2018-04-30T15:27:15.417+08:00'); memo1.Lines.Add('IOS8601:'+t1.GetISO8601dateTime) ; memo1.Lines.Add('fixedlocal:'+t1.GetFixedLocalDateTime) ; memo1.Lines.Add('fixedUTC:'+t1.GetFixedUTCDateTime) ; memo1.Lines.Add('TimeZone:'+t1.GetTimeZone ) ; memo1.Lines.Add('========================='); t2:=Tkbmmwdatetime.Create( Tkbmmwdatetime.Now) ;
memo1.Lines.Add('iso8601:'+t2.GetISO8601dateTime) ; memo1.Lines.Add('fixedlocal:'+t2.GetFixedLocalDateTime) ; memo1.Lines.Add('fixedUTC:'+t2.GetFixedUTCDateTime) ; memo1.Lines.Add('TimeZone:'+t2.GetTimeZone ) ; memo1.Lines.Add('RFC123UTC:'+t2.GetRFC1123UTCDateTime ) ; memo1.Lines.Add('RFC123:'+t2.GetRFC1123DateTime) ; memo1.Lines.Add('NCSA'+ t2.GetNCSADateTime ) ; memo1.Lines.Add('dayofweek:'+ kbmMWRFC1123DayNames[t2.DayOfWeek()]) ; end;
运行结果

kbmmw 中的日期时间操作的更多相关文章
- JS 中的日期时间操作计算实例
实例 一:已知日期格式为 "YYYY/MM/DD",计算相对于今天的天数差. function fromNow(date){ var mTimes = new Date(date) ...
- paip.日期时间操作以及时间戳uapi php java python 总结
paip.日期时间操作以及时间戳uapi php java python 总结 ///uapi Date 函数 | Day 函数 | Hour 函数 | Minute 函数 | Month 函数 | ...
- Firebird日期时间操作
最近在使用Firebird数据做 一项目,使用FireBird边用边学.(以下转贴) 查询2007年度以后的,12月份以上的数据记录,datetime为timestamp字段 select * fro ...
- Python基础 | 日期时间操作
目录 获取时间 时间映射 格式转换 字符串转日期 日期转字符串 unixtime 时间计算 时间偏移 时间差 "日期时间数据"作为三大基础数据类型之一,在数据分析中会经常遇到. 本 ...
- Android中关于日期时间与时区的使用总结
在开发Android的过程中,出现过几次由于日期时间导致的问题,而且主要是由于时区的原因导致,所以一直想总结一下,形成一个良好的开发规范. 一.Unix时间戳 Unix时间戳(Unix tim ...
- 在mysql数据库中关于日期时间字段的处理
在mysql数据库中关于日期时间字段的处理 在开发中,日期时间字段一般有如下几种设计 假设要获取2013-08-15日到2013-08-16日之间的记录 1. 直接使用日期时间类字段 相关sql语句如 ...
- Golang中的各种时间操作
Golang中的各种时间操作 需求 时间格式的转换比较麻烦,自己写了个工具,可以通过工具中的这些方法相互调用转成自己想要的格式,代码如下,后续有新的函数再添加 实现代码 package utils i ...
- Java日期时间操作基础——包含JDK1.8时间操作新特性
JDK1.7日期时间操作 示例小结 public class DateTest { public static final String FORMAT_DATE = "yyyy-MM-dd& ...
- MySQL tips (日期时间操作/concat 等)
1. Query结尾要加一个分号: 2. 数据库和表 SHOW DATABASES; USE YOUR_DB; SHOW TABLES; SHOW COLUMNS FROM study或者D ...
随机推荐
- as3.0两点之间简单的运动,斜着运动,任意两点
import flash.utils.Timer;import flash.events.TimerEvent;//fixed结束点//sprite初始点var fixedX:Number = fix ...
- 第十章 优先级队列 (b1)完全二叉堆:结构
- 第九章 词典 (e)桶/计数排序
- 11. Container With Most Water(头尾双指针)
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). ...
- HA状态下防火墙损坏处理
问题描述: web登录防火墙管理地址,发现在 状态-系统信息 里集群成员只有一台原备机.到机房发现原主机只有power灯是亮着的,HA灯和status灯都不亮. 用笔记本直连防火墙的mgmt口不亮,c ...
- django的csrf
csrf:跨站请求网站 如果是ajax提交,可以按照下面的方式处理 <script src="/static/jq/jquery-3.3.1.js"></scri ...
- 数据库存储 datetime,时差问题
var offset = moment().utcOffset(); var localText = moment.utc(datetime from database).utcOffset(offs ...
- vue解决遮罩层滚动方法
vue 遮罩层阻止默认滚动事件 在写移动端页面的时候,弹出遮罩层后,我们仍然可以滚动页面. vue中提供 @touchmove.prevent 方法可以完美解决这个问题 <div class=& ...
- SVO+PL-SVO+PL-StVO
PL-SVO是基于点.线特征的半直接法单目视觉里程计,我们先来介绍一下基于点特征的SVO,因为是在这个基础上提出的. [1]References: SVO: Fast Semi-Direct ...
- MVC报错:找到多个与名为“Home”的控制器匹配的类型。
错误原因是:在根目录中的Controller中有HomeController,而在Areas中也有一个HomeController,只是他们的命名空间不一样. 这样的话,只需要在对应的路由注册中加入命 ...