比如这个数字1147763686代表的时间是2006-05-16   15:14:45   
  这个使用datediff从字符串2006-05-16   15:14:45转换来的上面是我从别人帖子拿到的数字转换,我自己试过,发现无法进行这样的转换。我转的时候时间怎么就是不对。请教一下,整数转时间,时间转整数的C#例子。

解决方案 »

  1.   

    long ticks = 1147763686;
    DateTime date = new DateTime(ticks);long ticksNew = date.Ticks;
      

  2.   

    貌似在delphi中,时间就是用一组整数表示的,但是在C#中还不知道怎么转换~=高手
      

  3.   

    先将一个DATATIME类型转换为一个字符串类型后转换成整型
      

  4.   

    DateTime t = new DateTime(1970, 1, 1).AddSeconds(i);这个数字代表从1970年1月1日以来的秒数...这是老Unix系统的时间戳表示法...
      

  5.   

    对了...还要考虑时区的...那个时间是UTC...
      

  6.   

    这个datediff是计算一个时间差。
    如果你的时间的基值不一样,计算的结果自然是不一样的。
    例子://定义时间的基值
    DateTime baseTime = DateTime.Now;//时间转整数
    TimeSpan timespan = DateTime.Now - baseTime;
    long interval = timeSpan.Ticks;//整数转时间
    TimeSpan timeSpan = new TimeSpan(interval);
    DateTime now = baseTime + timeSpan;转换之后,可能会有点小小的误差。
      

  7.   

    “问题我就是不知道怎么转到的”需要知道时间的基值是多少?通过我上面的方法把基值先算出来。long interval = 1147763686;
    TimeSpan timeSpan = new TimeSpan(interval); 
    DateTime now = FromString("2006-05-16 15:14:45"); //string to DateTime。
    DateTime baseTime =  now - timeSpan; 
      

  8.   

    接11L:
    DateTime FromString(string time)

      return convert.ToDateTime(time);
    }
      

  9.   

    感谢vrhero ,这个时间表示法你都晓得,太博学了。送上100分表示心意。感谢11楼的回复,20分意思一下。
      

  10.   

    int interval = 1147763686;
    TimeSpan timeSpan = new TimeSpan(0, 0, interval);
    DateTime now = Convert.ToDateTime("2006-05-16 15:14:45");
    DateTime baseTime = now - timeSpan; 参照7L,原来这个interval表示的是秒数。
    输出baseTime: 1970-1-1 7:59:59