C#中怎么转换time_t类型的时间?
遇到一个问题,要读取文件中的一个字段,该值是一个time_t类型的变量,在C++中表示为如下
time_t tt = 0x46a5af8d; (十进制为1185263501)
cout<<ctime(&tt)<<endl;
输出如下:
Tue Jul 24 15:51:41 2007
现在C#中做如下转换
double tmp = (double)1185263501;
TimeSpan ts = new TimeSpan();
ts = TimeSpan.FromSeconds(tmp);
DateTime dt = new DateTime(1970,1,1,0,0,0);
DateTime now = new DateTime();
now = dt + ts;
Console.WriteLine("{0}",now.ToString());
输出如下:
2007-7-24 7:51:41
小时的值有问题,怎么回事?是不是这样转方法有问题?