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#日历日期格式
- 4. Objective-C的日期格式
- 5. 改变格式为C#日期格式
- 6. C#中的日期时间格式
- 7. C#中的TextBox日期格式
- 8. C#中的美国日期格式#
- 9. C#中的具体日期格式#
- 10. C#中的日期时间格式
- 11. 格式日期C中的时间#
- 12. c#中转换的日期格式
- 13. C#日期格式问题
- 14. 日期时间格式C#
- 15. C#日期时间格式
- 16. c#日期/时间格式
- 17. C#日期/时间格式
- 18. 更改日期格式C
- 19. 日期格式 - Excel和C#
- 20. C#日期时间格式
- 21. 格式日期在C#
- 22. 检测日期格式C#
- 23. C#日期时间格式
- 24. 更改日期格式C#
- 25. 在C#中格式化日期时间#
- 26. 在C++中验证日期格式
- 27. 日期格式dd.mm.yyyy在C中
- 28. 在C#中更改日期格式#
- 29. 全格式中的eventRender日期格式
- 30. 日期格式化IOS中的格式
应该是大写字母为MM本月毫米表示分钟...... – 2009-02-01 20:03:06
我鼓励你要遵循Martin的建议,并遵循文化意识的预定义代码。现在你可能不需要它,但将来它可以使事情变得更容易。 – 2009-02-01 21:48:31
+1为预定义格式 – 2012-08-29 14:53:48