最近有个秒杀的任务,需要倒计时,在网络上找了不少倒计时代码,但很多都是基于客户端时间的JS倒计时。
而基于服务器时间的倒计时比较少,而且比较复杂,不尽人意。
考虑到,无非两个步骤:1,获取服务端当前时间 2,JS设定截止时间并利用服务端时间进行倒计时计算。
关键在于取得服务端当前时间,
因为服务端代码(C#)DateTime.Now 取得的时间和客户端(JS)new Date() 取得的时间格式不一样。
而在JS中用这种格式进行时间计算比较准确:new Date("July 15 12:00:000 2010")
所以必须在C#中按照这种格式取得时间,再利用到客户端。
最理想的服务端时间格式化方法是:
System.DateTime.Now.ToString("MMMM dd HH:mm:ss yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo);
全部倒计时代码如下:
客户端
服务端