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.
  • 相关阅读:
    去除字符串中的重复字符
    .net生成的类,跨工程调用显示注释
    Flex 页面空白或Error #2032: 流错误处理办法
    读取点阵字库
    SQL多表联合查询(Access数据库表)
    MSComm不能触发MSComm1_OnComm()事件原因之一
    一个小时内学习SQLite数据库(转)
    人生无悔
    学习之道
    挺经
  • 原文地址:https://www.cnblogs.com/starluck/p/4293062.html
Copyright © 2011-2022 走看看