12小時制和24小時制獲取當(dāng)天零點(diǎn)的問題探討
最近在寫定時服務(wù)的時候,要獲取當(dāng)天的零點(diǎn)這個時間,但是是這樣獲取的
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)天的零點(diǎn),拼起來后獲取的時間是前一天的零點(diǎn),原來服務(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)文章
.NET?Core?實(shí)現(xiàn)一個自定義日志記錄器
在應(yīng)用程序中,日志記錄是一個至關(guān)重要的功能,不僅有助于調(diào)試和監(jiān)控應(yīng)用程序,還能幫助我們了解應(yīng)用程序的運(yùn)行狀態(tài),所以本文就將使用.NET?Core?實(shí)現(xiàn)一個自定義日志記錄器,需要的可以參考下2024-12-12
ASP.NET DropDownListCheckBox使用示例(解決回發(fā)問題)
本文為大家介紹下ASP.NET DropDownListCheckBox的使用,這個是根據(jù)LigerUI改的,解決了回發(fā)問題,喜歡的朋友可以參考下2013-11-11
ASP.NET中Dictionary基本用法實(shí)例分析
這篇文章主要介紹了ASP.NET中Dictionary基本用法,結(jié)合實(shí)例形式分析了Dictionary的基本功能、使用步驟與相關(guān)操作技巧,需要的朋友可以參考下2016-08-08
解決.net項(xiàng)目中上傳的圖片或者文件太大無法上傳問題
本文主要介紹了解決.net項(xiàng)目中上傳的圖片或者文件太大無法上傳問題的具有方法,具有很好的參考價(jià)值,有需要的朋友可以看下2016-12-12
使用HttpClient增刪改查ASP.NET Web API服務(wù)
這篇文章介紹了使用HttpClient增刪改查ASP.NET Web API服務(wù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10
asp.net實(shí)現(xiàn)導(dǎo)出DataTable數(shù)據(jù)到Word或者Excel的方法
這篇文章主要介紹了asp.net實(shí)現(xiàn)導(dǎo)出DataTable數(shù)據(jù)到Word或者Excel的方法,涉及asp.net操作office文件的相關(guān)技巧,需要的朋友可以參考下2016-08-08

