想在sl客户端做一个倒计时的功能,该如何处理

想在sl客户端做一个倒计时的功能
如题,显示离目标时间还有多久,进行实时显示倒计时,可是当前时间必须是按服务器的时间,目标时间也是从服务端获取

这样的话,如何做到客户端显示的倒计时既准确,服务器数据变动时又实时更新呢?

------解决方案--------------------
客户端初始从服务器获取当前服务器时间,例如dtServerTime,然后弄个计时器,每秒给dtServerTime增加1秒,这样来同步服务器时间
至于离目标时间还有多久:
/// <summary>
/// 已重载.计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值.
/// </summary>
/// <param name="DateTime1">第一个日期和时间</param>
/// <param name="DateTime2">第二个日期和时间</param>
/// <returns></returns>
private string DateDiff(DateTime DateTime1,DateTime DateTime2)
{
string dateDiff=null;
try
{
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()+"秒";
}
catch
{

}
return dateDiff;
}

至于服务器数据变动时的实时更新,看你是以每段时间刷新,还是什么机制,酌情而定
------解决方案--------------------
sorry,公式错了,我想应该是: ((s-t1)+(s-t2))/2

例如 12:23:05秒发出请求,12:23:09秒得到回应,服务器端返回的是12:05:00秒,那么可见客户端与服务器的时间差就是 (-485-489)/2 既 8分零7秒。

当然实际上是算到毫秒的,而不是秒。

另外有时候要注意服务器端可能是使用utc时间为标准,而不是客户端的本地时间。