zoukankan      html  css  js  c++  java
  • Iso8601 日期格式

    unit Iso8601Unit;
    
    interface
    
    type
      TIso8601 = class(TObject)
      public
        class function DateTimeFromIso8601(const Value: string): TDateTime; static;
        class function UtcDateTimeToIso8601(const Value: TDateTime): string; static;
        class function DateTimeToIso8601(const Value: TDateTime): string; static;
        class function UtcNow: TDateTime; static;
        class function ToUtc(const Value: TDateTime): TDateTime; static;
        class function FromUtc(const Value: TDateTime): TDateTime; static;
      end;
    
    implementation
    
    uses
      IdGlobalProtocols, {IdGlobal for Index}   SysUtils,
      XSBuiltIns;
    
    class function TIso8601.DateTimeFromIso8601(const Value: string): TDateTime;
    begin
      with TXSDateTime.Create() do
      try
        XSToNative(value); // convert from WideString
        Result := AsDateTime; // convert to TDateTime  finally
      finally
        Free();
      end;
    end;
    
    class function TIso8601.UtcDateTimeToIso8601(const Value: TDateTime): string;
    begin
      with TXSDateTime.Create() do
      try
        AsUTCDateTime := Value;
        Result := NativeToXS; // convert to WideString
      finally
        Free();
      end;
    end;
    
    class function TIso8601.DateTimeToIso8601(const Value: TDateTime): string;
    begin
      with TXSDateTime.Create() do
      try
        AsDateTime := Value; // convert from TDateTime
        Result := NativeToXS; // convert to WideString
      finally
        Free();
      end;
    end;
    
    class function TIso8601.UtcNow: TDateTime;
    begin
      Result := ToUtc(Now);
    end;
    
    class function TIso8601.ToUtc(const Value: TDateTime): TDateTime;
    var
      Bias: TDateTime;
    begin
      Bias := TimeZoneBias;
      Result := Value + TimeZoneBias;
    end;
    
    class function TIso8601.FromUtc(const Value: TDateTime): TDateTime;
    var
      Bias: TDateTime;
    begin
      Bias := TimeZoneBias;
      Result := Value - TimeZoneBias;
    end;
    
    end.
  • 相关阅读:
    (12)springboot打war包-copy
    基于Python在MacOS上安装robotframework-ride
    mac终端输入python默认打开python3
    win10 切换网卡的bat
    PyCharm2018激活码
    我告诉你 ,一个 window免费系统下载的网站!
    oracle 子查询的几个种类
    trunc()
    case when then else end 与 decode 的区别
    触发器 of oracle
  • 原文地址:https://www.cnblogs.com/starluck/p/4293062.html
Copyright © 2011-2022 走看看