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 ...
随机推荐
- 八:python 对象类型详解四:字典
一:字典通识: 1,字典通过键而不是偏移量来读取: 2,字典是任意对象的无序集合: 3,字典可变长.异构.任意嵌套: 4,字典属于可变映射类型: 5,对象引用表(散列表): 二:实际应用中的字典: 1 ...
- 算法篇【递归2 -- N皇后问题】
问题:输入整数N,要求在N*N的棋盘上,互相不能攻击,不在同一行同一列上,切不在对角线上,输出全部方案. 输入: 4 输出: 2 4 1 3 3 1 4 2 思路: 假设在前k-1个摆好的 ...
- java 对一个字符串去重,即去掉字符串内重复元素
String str ="abc|efa|abc|efa|abc"; String str1 = str.replaceAll("(?s)(.)(?=.*\\1)&quo ...
- 微信小程序开发——获取小程序带参二维码全流程
前言: 想要获取微信小程序带参数二维码,如这种: 官方文档只说了获取小程序码和二维码的三种接口及调用(参考链接:https://developers.weixin.qq.com/miniprogram ...
- mybatis批量更新update-设置多个字段值 报错 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
mybatis批量更新update-设置多个字段值 2016年08月01日 12:49:26 姚一号 阅读数:29539 标签: mysql mybatis批量更新批量更新allowMultiQuer ...
- sqlserver 分区排序之partition
例如:按照课程分组取各个课程最高成绩的记录,使用partition分区,然后按照成绩倒序排列,需要注意的是考虑到可能出现多个相同最高分,使用dense_rank来实现连续排序. 参考链接:https: ...
- pycharm 出现Process finished with exit code 0 或 Process finished with exit code -1
Process finished with exit code 0 意味着你的程序正常执行完毕并退出. 可以科普一下exit code,在大部分编程语言中都适用: exit code 0 表示程序执行 ...
- 10.24JS日记
1.函数都有返回值,人为return,返回什么就是什么,否则,他的返回值就是undefined 而方法的本质也是函数,所以也有返回值 document.getElementById()返回的是获取的标 ...
- C# oracle 日期型字段,使用参数传值时,遇到ORA-01810: format code appears twice错误
C#操作oracle数据库时,发现使用to_date('2014-01-03 18:00:00','yyyy-mm-dd hh:MM:ss')时,会出现ORA-01810: format code a ...
- C++命名空间学习笔记
1 模块化和界面 任何实际程序都是有一些部分组成的.通过将程序进行模块化可以使我们的程序更加清晰,有助于多人合作和维护. 将一个程序进行模块化以后,当其中一个模块调用另一个模块时,它不需要知道其具体实 ...