2005-01-20 12:32:37 ------->   1106195557  2005-01-20 12:28:12 ------->   11061952922005-01-20 12:35:59 ------->    1106195759
通过什么算法得到把时间转换成后面的数字??????????????

解决方案 »

  1.   

    应该是C语言的时间吧, 1970-01-01 00:00 起过去的秒数. 也就是
    round((date-strtodatetime('1970-01-01 00:00')) * 86400)
      

  2.   

    1.用select datediff(second, '2005-01-20 12:28:12', '2005-01-20 12:32:37')
    算出差265秒,
    1106195292-1106195557=265,
    所以应该是用时间减去一个值得出和秒,再看一下!
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      lDouble: Double;
    begin
      lDouble := SecondSpan(StrToDateTime('2005/01/20 12:32:37'),StrToDateTime('1970/01/01 00:00:00'));
      ShowMessage(FloatToStr(lDouble));
    end;
      

  4.   

    找到规律:select datediff(second, '1970-01-01 08:00', '2005-01-20 12:32:37')
    --1106195557select datediff(second, '1970-01-01 08:00', '2005-01-20 12:28:12')
    --1106195292select datediff(second, '1970-01-01 08:00', '2005-01-20 12:35:59')
    --1106195759
      

  5.   

    uses DateUtils;procedure TForm1.Button1Click(Sender: TObject);
    var
      lDouble: Double;
    begin
      lDouble := SecondSpan(StrToDateTime('2005/01/20 12:35:59')
        , StrToDateTime('1970/01/01 8:00'));
      ShowMessage(FloatToStr(lDouble));
    end;