Delphi中的 UTC 时间与DateTime及XMLDateTime

来源:互联网 发布:java经典书籍分享 编辑:程序博客网 时间:2024/05/14 23:06

使用GetSystemTime可以得到类型为TSysteimTime(_SystemTime)的UTC时间,其结构如下:

  _SYSTEMTIME = record    wYear: Word;    wMonth: Word;    wDayOfWeek: Word;    wDay: Word;    wHour: Word;    wMinute: Word;    wSecond: Word;    wMilliseconds: Word;  end;

可以看出它就是将时间的每个部分的值分开存储,如果使用GetLocalTime,它也返回TSysteimTime(_SystemTime),但是时间为本地时间(也就是当前系统所属时区的时间),以北京时间为例,GetSystemTime与GetLocalTime的时差是8小时。


_SystemTime与TDateTime的转换:

1.SystemTimeToDateTime,可以将_SystemTime类型转为TDateTime类型

2.DateTimeToSystemTime,可以将TDateTime类型转为_SystemTime


如果要在XML中将时间以UTC字符串形式表示,可以引用单元XSBuiltIns:

1.DateTimeToXMLTime可以直接将TDateTime类型转换为XML形式的UTC字符串

2.XMLTimeToDateTime可以直接将XML形式的UTC字符串转换为TDateTime类型


还可以使用TXSDateTime类来进行XML表示的时间字符串进行转换:

1.TXSDateTime.XSToNative可以将XML时间字符串转换为本地时间

2.TXSDateTime.NativeToXS可以将本地时间转换为XML时间字符串

0 0