TimeSpan转DateTime的骚操作


啊哈,果然有需求的一周  日子过得很快啊、

不知不觉就又到了今天,上周忙的要是,本来打算周五写一写,结果写到一半后就又折腾其他的了

 

老规矩记录下上周当中用过的一些技术,和心得(主要是写给自己)

 

在这周当中,我要做一个秒杀的功能,在这个秒杀里面有一个秒杀的倒计时,

目标为需要动态的显示 当前时间和秒杀活动结束时间的时间差,

也就是说在页面中要有一个时间栏能够显示 还有多久我就买不了这玩意儿了。

 

需求好像很简单,先这样,在那样,最后在这样不就完了吗.....

 

===================================================

其实应该是,先计算出当前时间和结束时间的时间差,然后把时间差拿来放入页面中。

本来这事儿在客户端就能干了,

但是,这里要说个但是。。。

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的时间。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM