如何設置的DateTime
格式集中,這樣在任何時候,如果我用一個DateTime.ToString()
在我的代碼,我得到字符串中的ISO格式(例如:2008-2-19 01:00:00
)或(2008-2-19
)設置則DateTime.ToString()格式集中
回答
時,應使用CultureInfo控制格式一旦你設置你的當前線程的CurrentCulture然後嘗試以下方法:
DateTimeFormatInfo format = Thread.CurrentThread.CurrentCulture.DateTimeFormat;
string dateTime = DateTime.Now.ToString(format.FullDateTimePattern);
可以作爲參數添加的時間格式了toString,我一直用這個參考
Dim d = DateTime.Parse("2008-2-19 01:00:00")
Assert.AreEqual("2008-2-19 01:00:00", d.ToString("yyyy-M-dd HH:mm:ss"))
http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm
問候
伊恩
您可以使用擴展方法擴展日期時間並創建一個ToISOString()。
的方式來完成它退房http://msdn.microsoft.com/en-us/library/bb383977.aspx。在擴展方法,你可以使用參數來格式化字符串你需要的方式,那麼你可以使用DateTime.ToISOString();你也可以像Barry說的那樣使用cultureinfo,但我不知道它是否符合你的需求。
具有不同名稱的擴展將無濟於事......我需要它在dateTime.ToString上完成......這是爲了當一個數據表被解析爲text/Json/Xml我希望以上述格式輸出格式。 – Mulki 2010-10-18 15:08:14
您應該更新System.Threading.Thread.CurrentThread.CurrentCulture
屬性。
這會影響在當前線程所有DateTime.ToString()
。
Im將currentculture和uiculture設置爲編輯中提到的一個...文化正在與日期格式一起設置..但dateTimeObj.ToString()繼續以en-us格式顯示它...除了設置文化之外,還需要做其他事情嗎? – Mulki 2010-10-19 10:49:08
隨着阿爾賓和巴里的回答IV的幫助得到了下面的一塊代碼在Global.asax中統一設置的時間格式。
using System.Globalization;
using System.Threading;
protected void Application_BeginRequest()
{
CultureInfo standardizedCulture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
standardizedCulture.DateTimeFormat.DateSeparator = "-";
standardizedCulture.DateTimeFormat.LongDatePattern = "yyyy-MM-dd hh:mm:ss";
standardizedCulture.DateTimeFormat.FullDateTimePattern = "yyyy-MM-dd hh:mm:ss";
standardizedCulture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
Thread.CurrentThread.CurrentCulture = standardizedCulture;
Thread.CurrentThread.CurrentUICulture = standardizedCulture;
}
我相信LongDatePattern =「s」;或「o」;也將完成這項工作。 – 2010-10-18 16:18:29
想法派生自1)http://www.hanselman.com/blog/EnablingEvilOverridingSystemDateTimesDefaultToString.aspx 2)http://channel9.msdn.com/forums/TechOff/125490-ISO-8601-date-formats-in- ASPNET/ – Mulki 2010-10-21 07:08:23
我想請求的格式,即DateTIme.Now.ToString()
將會對你的代碼的可讀性,一個非常不良影響(和可維護性..)。嘗試用自定義行爲覆蓋衆所周知的行爲是不好的做法。
我做考慮使用它像這樣的好方法:DateTIme.Now.ToString(IsDefaultFormat)
。
現在你需要做的就是添加一個擴展方法來DateTime
接收一個bool
,如果該布爾設置爲true,使用「默認格式」
這是一個正在開發的web服務。我需要覆蓋的默認格式,以確保我不會以任何格式發送它,而是以單一標準的明確格式發送。除了默認的區域設置是en-US日期格式,這對我來說是非常困惑的,因爲整個開發團隊在這裏遵循en-GB。 – Mulki 2010-10-21 07:12:29
- 1. 則DateTime.ToString()格式錯誤
- 2. DateTime.ToString格式
- 3. 有沒有辦法在全局上設置DateTime.ToString()格式?
- 4. C#DateTime.ToString與數據格式或模式
- 5. C#通用則DateTime.ToString()與自定義格式
- 6. DateTime.ToString從所有格式到dd/MM/YYYY?
- 7. 則DateTime.ToString月和天語
- 8. 奇怪則DateTime.ToString行爲
- 9. 設置格式
- 10. 發佈.NET中字符串格式爲「M」的DateTime.ToString
- 11. JavaScript中的DateTime.ToString('o')
- 12. 設置正則表達式驗證在Adobe CQ5 URL格式
- 13. 如何在Spring集成中設置JsonObjectMapper的日期格式
- 14. 如何在Visual Studio 2012中設置開關/格/格式設置?
- 15. C#DateTime.ToString「o」格式返回Azure上的不同字符串
- 16. DateTime.ToString(「s」)是否總是返回相同的格式?
- 17. DateTime.ToString(格式)不同PC上的意外行爲
- 18. 設置規則/觸發器在集會
- 19. 爲不同區域設置的用戶設置貨幣格式的原則
- 20. 集錦PHP格式化 - 使用自定義格式規則
- 21. DateTime.ToString()未按預期方式工作
- 22. 設置從正則表達式模式到正則表達式?
- 23. Openpyxl設置號碼格式
- 24. 設置JSON格式鏈接
- 25. 設置書籤格式。 VB.Net
- 26. Convert.ToDateTime:如何設置格式
- 27. 設置文本格式
- 28. 設置默認格式
- 29. 爲iphone設置nsdate格式
- 30. PhpStorm:PHPDoc的格式設置
System.Threading.Thread.CurrentThread.CurrentCulture返回
DateTime
(和.CurrentUICulture)。 – 2010-10-18 16:58:46文化正在設置,但它的日期時間格式不會改變。檢查上面的編輯 – Mulki 2010-10-19 07:52:47
@Mulki - 我編輯了我的答案。謝謝 – codingbadger 2010-10-19 07:59:25