kbmmw 中的日期时间操作
Posted Delphi 窑洞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 中的日期时间操作的主要内容,如果未能解决你的问题,请参考以下文章