为了精确度反映时间及时区,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 中的日期时间操作的更多相关文章

  1. JS 中的日期时间操作计算实例

    实例 一:已知日期格式为 "YYYY/MM/DD",计算相对于今天的天数差. function fromNow(date){ var mTimes = new Date(date) ...

  2. paip.日期时间操作以及时间戳uapi php java python 总结

    paip.日期时间操作以及时间戳uapi php java python 总结 ///uapi Date 函数 | Day 函数 | Hour 函数 | Minute 函数 | Month 函数 | ...

  3. Firebird日期时间操作

    最近在使用Firebird数据做 一项目,使用FireBird边用边学.(以下转贴) 查询2007年度以后的,12月份以上的数据记录,datetime为timestamp字段 select * fro ...

  4. Python基础 | 日期时间操作

    目录 获取时间 时间映射 格式转换 字符串转日期 日期转字符串 unixtime 时间计算 时间偏移 时间差 "日期时间数据"作为三大基础数据类型之一,在数据分析中会经常遇到. 本 ...

  5. Android中关于日期时间与时区的使用总结

    在开发Android的过程中,出现过几次由于日期时间导致的问题,而且主要是由于时区的原因导致,所以一直想总结一下,形成一个良好的开发规范.   一.Unix时间戳   Unix时间戳(Unix tim ...

  6. 在mysql数据库中关于日期时间字段的处理

    在mysql数据库中关于日期时间字段的处理 在开发中,日期时间字段一般有如下几种设计 假设要获取2013-08-15日到2013-08-16日之间的记录 1. 直接使用日期时间类字段 相关sql语句如 ...

  7. Golang中的各种时间操作

    Golang中的各种时间操作 需求 时间格式的转换比较麻烦,自己写了个工具,可以通过工具中的这些方法相互调用转成自己想要的格式,代码如下,后续有新的函数再添加 实现代码 package utils i ...

  8. Java日期时间操作基础——包含JDK1.8时间操作新特性

    JDK1.7日期时间操作 示例小结 public class DateTest { public static final String FORMAT_DATE = "yyyy-MM-dd& ...

  9. MySQL tips (日期时间操作/concat 等)

    1.  Query结尾要加一个分号: 2.  数据库和表 SHOW DATABASES;    USE YOUR_DB; SHOW TABLES; SHOW COLUMNS FROM study或者D ...

随机推荐

  1. as3.0两点之间简单的运动,斜着运动,任意两点

    import flash.utils.Timer;import flash.events.TimerEvent;//fixed结束点//sprite初始点var fixedX:Number = fix ...

  2. 第十章 优先级队列 (b1)完全二叉堆:结构

  3. 第九章 词典 (e)桶/计数排序

  4. 11. Container With Most Water(头尾双指针)

    Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). ...

  5. HA状态下防火墙损坏处理

    问题描述: web登录防火墙管理地址,发现在 状态-系统信息 里集群成员只有一台原备机.到机房发现原主机只有power灯是亮着的,HA灯和status灯都不亮. 用笔记本直连防火墙的mgmt口不亮,c ...

  6. django的csrf

    csrf:跨站请求网站 如果是ajax提交,可以按照下面的方式处理 <script src="/static/jq/jquery-3.3.1.js"></scri ...

  7. 数据库存储 datetime,时差问题

    var offset = moment().utcOffset(); var localText = moment.utc(datetime from database).utcOffset(offs ...

  8. vue解决遮罩层滚动方法

    vue 遮罩层阻止默认滚动事件 在写移动端页面的时候,弹出遮罩层后,我们仍然可以滚动页面. vue中提供 @touchmove.prevent 方法可以完美解决这个问题 <div class=& ...

  9. SVO+PL-SVO+PL-StVO

    PL-SVO是基于点.线特征的半直接法单目视觉里程计,我们先来介绍一下基于点特征的SVO,因为是在这个基础上提出的. [1]References:      SVO: Fast Semi-Direct ...

  10. MVC报错:找到多个与名为“Home”的控制器匹配的类型。

    错误原因是:在根目录中的Controller中有HomeController,而在Areas中也有一个HomeController,只是他们的命名空间不一样. 这样的话,只需要在对应的路由注册中加入命 ...