设定一个起始时间,程序中有一个TIMER,我想每一秒获得当前时间与起始时间的时间差(精确到毫秒)。
怎么编?
怎么编?
解决方案 »
- 求可以分组统计+自定义筛选+点击标题自动排序的报表组件
- 急! 用C#语言开发WPF LED时钟?
- 怎样把数据库中的一条数据中包含数字的字符截取出来再放进文本框中
- 100分雪地跪求:-->如何在winforms项目里创建类似于web中的HyperLinker列???
- 找高人解决listview的问题
- c#如何得到数据库中所有表名
- 表的连接
- 请问学习C#有什么好的书籍?
- 如何取得数据表中选中单元格的值?
- codeproject的outlookbar的imagelist问题.没有明白他如何加载和使用图片。
- C# SafeNet单机版加密狗怎么做才当成网络版来用
- XK3190-A9电子称取重问题,急!
TimeSpan ts = DateTime.Now - dtStart;//获取当前时间和设定的起始时间之差
double dCount = ts.TotalMilliseconds;//时差的总毫秒数
/// <summary>
/// 计算两个日期的时间间隔
/// </summary>
/// <param name="DateTime1">第一个日期和时间</param>
/// <param name="DateTime2">第二个日期和时间</param>
/// <returns></returns>
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Days.ToString()+"天"
+ ts.Hours.ToString()+"小时"
+ ts.Minutes.ToString()+"分钟"
+ ts.Seconds.ToString()+"秒";
return dateDiff;
}
说明:
1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻
2.TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值
下面的列表涵盖了其中的一部分:
Add:与另一个TimeSpan值相加。
Days:返回用天数计算的TimeSpan值。
Duration:获取TimeSpan的绝对值。
Hours:返回用小时计算的TimeSpan值
Milliseconds:返回用毫秒计算的TimeSpan值。
Minutes:返回用分钟计算的TimeSpan值。
Negate:返回当前实例的相反数。
Seconds:返回用秒计算的TimeSpan值。
Subtract:从中减去另一个TimeSpan值。
Ticks:返回TimeSpan值的tick数。
TotalDays:返回TimeSpan值表示的天数。
TotalHours:返回TimeSpan值表示的小时数。
TotalMilliseconds:返回TimeSpan值表示的毫秒数。
TotalMinutes:返回TimeSpan值表示的分钟数。
TotalSeconds:返回TimeSpan值表示的秒数。
DateTime dtime1= Convert.ToDateTime(time1);
DateTime dtime2= Convert.ToDateTime(time2);
TimeSpan s = dtime1- dtime2;//s.TotalDays //相差天数
//s.TotalHours //相关小时数
//s.TotalMilliseconds // 相差毫秒数
//s.TotalMinutes//相差分钟数
//s.TotalSeconds//相差秒数
{ DateTime currentTime=DateTime.Now;
TimeSpan ts = currentTime - startTime;
double sub = ts.TotalMilliseconds;
progressBar1.Value =(Int32)sub/timeLength ;
}
进度条为什么不走? 进度条的最大值是音频文件的播放时长》
另外,你是否没有在媒体开始播放时启动Timer(timer1.Start()) ,并在媒体播放结束时停止Timer(timer1.Stop())
private void timer1_Tick_1(object sender, EventArgs e)
{ DateTime currentTime=DateTime.Now;
TimeSpan ts = currentTime - startTime;
double sub = ts.TotalMilliseconds;
TextBox1.Text=sub.ToString();//将当前值显示在窗体上
progressBar1.Value =(Int32)sub/timeLength ;
}
DateTime1 =Convert.ToDateTime("2011-05-05 10:00:00"); //设置要求的减的时间
string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration(); //计算ts1,ts2的时间差
dateDiff = ts.Days.ToString() + "天" + ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分钟" + ts.Seconds.ToString() + "秒";
Add:与另一个TimeSpan值相加。
Days:返回用天数计算的TimeSpan值。
Duration:获取TimeSpan的绝对值。
Hours:返回用小时计算的TimeSpan值
Milliseconds:返回用毫秒计算的TimeSpan值。
Minutes:返回用分钟计算的TimeSpan值。
Negate:返回当前实例的相反数。
Seconds:返回用秒计算的TimeSpan值。
Subtract:从中减去另一个TimeSpan值。
Ticks:返回TimeSpan值的tick数。
TotalDays:返回TimeSpan值表示的天数。
TotalHours:返回TimeSpan值表示的小时数。
TotalMilliseconds:返回TimeSpan值表示的毫秒数。
TotalMinutes:返回TimeSpan值表示的分钟数。
TotalSeconds:返回TimeSpan值表示的秒数。