Q
c中的格式日期#
16
A
回答
44
這幾乎是相同的,只需使用DateTime.ToString()
方法,如:
DateTime.Now.ToString("dd/MM/yy");
或者:
DateTime dt = GetDate(); // GetDate() returns some date
dt.ToString("dd/MM/yy");
此外,你可能要考慮使用的預定義的日期/時間格式之一,例如:
DateTime.Now.ToString("g");
// returns "02/01/2009 9:07 PM" for en-US
// or "01.02.2009 21:07" for de-CH
這些確保格式將是正確的,獨立於當前區域設置。
檢查以下MSDN網頁以獲取更多信息
- DateTime.ToString() method
- Standard Date and Time Format Strings
- Custom Date and Time Format Strings
一些其他相關信息:
如果要顯示一個特定的區域/培養物的日期,再有就是ToString()
方法的過載,其採用IFormatProvider
:
DateTime dt = GetDate();
dt.ToString("g", new CultureInfo("en-US")); // returns "5/26/2009 10:39 PM"
dt.ToString("g", new CultureInfo("de-CH")); // returns "26.05.2009 22:39"
或可替代地,可以設置之前的當前線程的CultureInfo
以格式化日期:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
dt.ToString("g"); // returns "5/26/2009 10:39 PM"
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-CH");
dt.ToString("g"); // returns "26.05.2009 22:39"
8
string.Format("{0:dd/MM/yyyy}", DateTime.Now)
查找「格式字符串」 MSDN上看到所有的格式設置選項。
使用yy
,yyyy
,M
,MM
,MMM
,MMMM
,d
,dd
,ddd
,dddd
的日期組件
使用h
,hh
,H
,HH
,m
,mm
,s
,ss
爲時間段組件
2
試試這個:
String.Format("{0:MM/dd/yyyy}", DateTime.Now); // 01/31/2009
String.Format("{0:dd/MM/yyyy}", DateTime.Now); // 31/01/2009
String.Format("{dd/MM/yyyy}", DateTime.Now); // 31/01/2009
2
你也可以寫
DateTime aDate = new DateTime();
string s = aDate.ToShortDateString();
短暫符號
或
DateTime aDate = new DateTime();
string s = aDate.ToLongDateString();
長期的符號,如 「週日,Febuary 1,2009年」。或者看一下MSDN以瞭解.ToString(「???」)的可能性。
2
更重要的是,只使用
DateTime.Now.ToString()
或
DateTime.Now.ToString(CultureInfo.CurrentCulture)
使用用戶首選的格式。
0
我遇到了同樣的問題。我需要做的是在類的頂部添加一個引用,並更改當前正在執行的線程的CultureInfo。
using System.Threading;
string cultureName = "fr-CA";
Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureName);
DateTime theDate = new DateTime(2015, 11, 06);
theDate.ToString("g");
Console.WriteLine(theDate);
所有你需要做的是改變文化名稱,例如: 「EN-US」=美國 「FR-FR」=法語法國 「FR-CA」=法語說加拿大 等等
0
我覺得這很簡單,你可以轉換,並從任何格式,沒有任何混亂
DateTime.ParseExact(txt.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"));
相關問題
- 1. C#中的日期格式
- 2. C中的日期格式
- 3. C#中的TextBox日期格式
- 4. C#中的日期時間格式
- 5. c#中轉換的日期格式
- 6. C#中的日期時間格式
- 7. 格式日期在C#
- 8. 檢測日期格式C#
- 9. 更改日期格式C
- 10. 更改日期格式C#
- 11. C#日期格式問題
- 12. 日期格式 - Excel和C#
- 13. C#日期時間格式
- 14. C#日期時間格式
- 15. 在C#中更改日期格式#
- 16. 在C++中驗證日期格式
- 17. 日期格式化IOS中的格式
- 18. 日期(「8601格式日期」)?
- 19. 日期格式爲日期
- 20. 日期格式日期
- 21. mysql中的日期格式?
- 22. Android中的格式日期
- 23. RangeValidator中的日期格式
- 24. VBS中的日期格式
- 25. jsp中的日期格式
- 26. VB6中的日期格式
- 27. 日期格式中的GridView
- 28. JAVA中的日期格式
- 29. MVC中的日期格式
- 30. MySQL中的格式日期
應該是大寫字母爲MM本月毫米表示分鐘...... – 2009-02-01 20:03:06
我鼓勵你要遵循Martin的建議,並遵循文化意識的預定義代碼。現在你可能不需要它,但將來它可以使事情變得更容易。 – 2009-02-01 21:48:31
+1爲預定義格式 – 2012-08-29 14:53:48