12小時制和24小時制獲取當(dāng)天零點的問題探討
最近在寫定時服務(wù)的時候,要獲取當(dāng)天的零點這個時間,但是是這樣獲取的
DateTime dt = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")+" 00:00:00");
Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss"));
在本地,測試,QA環(huán)境測試了均沒有問題,但是上了公網(wǎng)服務(wù)器以后,這個定時服務(wù),就出問題了;寫了下日志,竟然發(fā)現(xiàn)獲取當(dāng)天的零點,拼起來后獲取的時間是前一天的零點,原來服務(wù)器時間是12小時制的,本地環(huán)境都是24小時制的。
繼續(xù)深究,發(fā)現(xiàn)每天的00:00:00到00:59:59這段時間,在24小時制時間內(nèi)是當(dāng)天的日期;但是在12小時制時間內(nèi),是前天的日期的12:00:00到12:59:59。舉個例子,比如說按照24小時制時間,今天的“2013-09-26 00:00:00”這個時間,在12小時制服務(wù)器中,獲取的話就是“2013-09-25 12:00:00”,DateTime.Now.ToString("yyyy-MM-dd")這個方法獲得的日期就是“2013-09-25”,那么dt獲取就是“2013-09-25 12:00:00”。
原來,根據(jù)C#中獲取時間的小時制的不同,可以這樣獲取
//24小時制:
DateTime dt = DateTime.Now;
string dt24 = dt.ToString("yyyy-MM-dd HH:mm:ss");
//12小時制:
DateTime dt = DateTime.Now;
string dt12 = dt.ToString("yyyy-MM-dd hh:mm:ss");
//是由H的大小寫決定
不管服務(wù)器的時間制是12小時還是24小時,大寫H獲取的就是24小時的時間,小寫h獲取的就是12小時的時間。
相關(guān)文章
Consul的搭建和.Net5的注冊和獲取方法(Win10簡單版)
Consul?是一個用來實現(xiàn)分布式系統(tǒng)服務(wù)發(fā)現(xiàn)與配置的開源工具。接下來通過本文給大家介紹win10下Consul的搭建和.Net5的注冊和獲取方法,感興趣的朋友一起看看吧2022-01-01asp.net?core?MVC?全局過濾器之ExceptionFilter過濾器(1)
這篇文章主要為大家詳細介紹了asp.net?core?MVC?全局過濾器之ExceptionFilter過濾器,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08asp.net運行提示未將對象引用設(shè)置到對象的實例錯誤解決方法
asp.net運行提示未將對象引用設(shè)置到對象的實例錯誤解決方法,需要的朋友可以參考下2012-03-03ASP.NET對HTML頁面元素進行權(quán)限控制(一)
界面每個元素的權(quán)限也是需要控制的。比如一個查詢用戶的界面里面有查詢用戶按鈕,添加用戶按鈕,刪除用戶按鈕,不同的角色我們得分配不同的權(quán)限2013-12-12Asp.Net平臺下的圖片在線裁剪功能的實現(xiàn)代碼(源碼打包)
最近項目中有個圖片在線裁剪功能,本人查找資料,方法如下:前臺展現(xiàn)用jquery.Jcrop實現(xiàn),后臺使用 System.Drawing.Image類來進行裁剪2011-10-10