啊哈,果然有需求的一周 日子過得很快啊、
不知不覺就又到了今天,上周忙的要是,本來打算周五寫一寫,結果寫到一半后就又折騰其他的了
老規矩記錄下上周當中用過的一些技術,和心得(主要是寫給自己)
在這周當中,我要做一個秒殺的功能,在這個秒殺里面有一個秒殺的倒計時,
目標為需要動態的顯示 當前時間和秒殺活動結束時間的時間差,
也就是說在頁面中要有一個時間欄能夠顯示 還有多久我就買不了這玩意兒了。
需求好像很簡單,先這樣,在那樣,最后在這樣不就完了嗎.....
===================================================
其實應該是,先計算出當前時間和結束時間的時間差,然后把時間差拿來放入頁面中。
本來這事兒在客戶端就能干了,
但是,這里要說個但是。。。
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的時間。