啊哈,果然有需求的一周 日子过得很快啊、
不知不觉就又到了今天,上周忙的要是,本来打算周五写一写,结果写到一半后就又折腾其他的了
老规矩记录下上周当中用过的一些技术,和心得(主要是写给自己)
在这周当中,我要做一个秒杀的功能,在这个秒杀里面有一个秒杀的倒计时,
目标为需要动态的显示 当前时间和秒杀活动结束时间的时间差,
也就是说在页面中要有一个时间栏能够显示 还有多久我就买不了这玩意儿了。
需求好像很简单,先这样,在那样,最后在这样不就完了吗.....
===================================================
其实应该是,先计算出当前时间和结束时间的时间差,然后把时间差拿来放入页面中。
本来这事儿在客户端就能干了,
但是,这里要说个但是。。。
JS中的时间换算实在是太不友好,所以。我就把这事儿搬到了后台,自己个儿写了一方法。
这里吐槽就先过。。。 重点说怎么处理的这事儿
直接上Code
1 DateTime endTime = Convert.ToDateTime(time); 2 TimeSpan leftTime = endTime - DateTime.Now; 3 4 DateTime getPureLeftTime = new DateTime(1970, 1, 1).Add(leftTime); 5 6 string timer = getPureLeftTime.ToString("yyyy/MM/dd-HH:mm:ss"); 7 timer = timer.Substring(timer.LastIndexOf('-')+1);
首先我们都知道,TimeSpan是一个区间值,它的时间是没办法直接拿来用的。所以如果直接强制转换它是不太现实的(可能是我不知道怎么转)
于是经过广大群友和我的聪明才智,这里是重点,敲黑板。
我给了一个初始值,
DateTime getPureLeftTime = new DateTime(1970, 1, 1).Add(leftTime);
也就是这里,把剩余时间加到了新的时间里面,因为我们都知道,这样new出来的DateTime是一个新的初始值,所有的时间为0点
那么最后我把前面的时间截取掉,直接取时间文本不久好了嘛(美滋滋)
综上,我就获取到了,也就是(强转)TimeSpan的时间。