• superobject中 JavaToDelphiDateTime的使用


    procedure TForm1.FormCreate(Sender: TObject);
    var
      n: TDateTime;
      i64: Int64;
      s: Integer;
    begin  Memo1.Clear; Memo1.ReadOnly := True;
      n := StrToDateTime('2014-05-02 10:37:35');
      Memo1.Lines.Add( IntToStr( DateTimeToUnix(N) - 28800 ))  ;//1398998255
      Memo1.Lines.Add( IntToStr( DelphiToJavaDateTime(N )));    //1398998255000
      Memo1.Lines.Add( DateTimeToStr(  JavaToDelphiDateTime(DelphiToJavaDateTime(N ))));  //2014-05-02 10:37:35
    
      with TRegistry.Create(KEY_WOW64_64KEY or KEY_ALL_ACCESS) do
      try
        RootKey := HKEY_LOCAL_MACHINE;
        if OpenKey('SOFTWAREMicrosoftWindows NTCurrentVersion', False) then
        begin
          Memo1.Lines.Add(IntToStr(ReadInteger('InstallDate')));//1398998255
          Memo1.Lines.Add(DateTimeToStr(UnixToDateTime(ReadInteger('InstallDate') + 28800))); //2014-05-02 10:37:35
          i64 := ReadInteger('InstallDate'); //这里 必须先这样转为64位,不能直接 * 1000,直接的话,按integer类型计算,结果超过MaxInt了。
          i64 := i64 * 1000;
          Memo1.Lines.Add(DateTimeToStr(JavaToDelphiDateTime(i64))); //2014-05-02 10:37:35
        end;
      finally
        Free
      end;
    end;
    JavaToDelphiDateTime和DelphiToJavaDateTime有2个特点:
    • 数值扩大1000倍,可能是精确到毫秒了。
    • 自动进行时区的转换。
  • 相关阅读:
    【BZOJ】4349: 最小树形图
    【AtCoder】AtCoder Petrozavodsk Contest 001
    【LOJ】#2525. 「HAOI2018」字串覆盖
    趣味题:恺撒Caesar密码(c++实现)
    趣味问题:画图(c++实现)
    趣味问题:到底买不买
    成绩大排队
    A除以B问题
    2017-统计字符个数
    2016-数据的交换输出
  • 原文地址:https://www.cnblogs.com/CodeGear/p/4760630.html
Copyright © 2020-2023  润新知