我有几行数据在一个time.txt里面2009-6-12 16:40:04.546
2009-6-12 16:40:04.687
2009-6-12 16:40:04.765
2009-6-12 16:40:04.890
2009-6-12 16:40:04.984我想把time.txt做一个变换
第一个时间置0,其他的我用后一个减第二个差值代替比如
0
141
78
125
94我就需要这样的效果该怎么做,差值应该不会大于毫秒吧,我在txt里面存储的是字符串
2009-6-12 16:40:04.687
2009-6-12 16:40:04.765
2009-6-12 16:40:04.890
2009-6-12 16:40:04.984我想把time.txt做一个变换
第一个时间置0,其他的我用后一个减第二个差值代替比如
0
141
78
125
94我就需要这样的效果该怎么做,差值应该不会大于毫秒吧,我在txt里面存储的是字符串
DateTime _EndTime;
if (DateTime.TryParse(_Text[0], out _StarTime))
{
IList<int> _Value = new List<int>();
for (int i = 0; i != _Text.Length; i++)
{
if(_Text[i].Trim().Length==0)continue; if (!DateTime.TryParse(_Text[i], out _EndTime)) throw new Exception("错误时间" + _Text[i]); TimeSpan _Time = _EndTime - _StarTime;
_Value.Add((int)_Time.TotalMilliseconds);
_StarTime = _EndTime;
}
}
这样?
if (t == null || t.Length == 0)
throw new Exception("无数据");
//假设你的时间都是合法格式,不做额外检查
DateTime d = DateTime.Parse(t[0]);
for (int i = 0; i < t.Length; i++)
{
DateTime d1 = DateTime.Parse(t[1]);
t[i] = ((TimeSpan)(d1 - d)).TotalMilliseconds.ToString();
d = d1;
}
File.Delete("time.txt");
File.WriteAllLines("time.txt", t);
报错:String was not recognized as a valid DateTime.
你知道吗?我这样做 DateTime.Parse("2009-6-12 16:40:04.546").Millisecond=546,谢谢!
试验后再回你的