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