请告诉我如何以这种格式获取当前日期和时间:
2011年11月18日星期五晚上7:00
答案 0 :(得分:10)
如果CurrentCulture
为en-US
:
DateTime.Now.ToString("f")
否则您可以指定文化:
DateTime.Now.ToString("f", CultureInfo.CreateSpecificCulture("en-US"))
或者您可以使用自定义字符串,这又取决于文化的月/日名称和24小时制。
我不建议使用专为机器使用而设计的InvariantCulture
。
答案 1 :(得分:4)
这应该有效:
string date = someDate.ToString("dddd, MMMM dd, yyyy h:mm tt");
答案 2 :(得分:2)
不确定
string text = DateTime.Now.ToString("dddd, MMMM dd, yyyy h:mm tt",
CultureInfo.InvariantCulture);
请注意,您可能希望使用其中一个standard日期/时间格式字符串,而不是custom这样的字符串。这基本上是一种人类可读的形式,通常应该考虑将要显示给用户的文化。
正如dahlbyk所提到的,InvariantCulture
通常用于机器到机器的格式化,就像自定义格式字符串一样,这就是我在这里使用它的原因。如果 供人类消费但你总是想用美国英语,那么你应该指定一种美国文化。您可能仍希望指定自定义格式字符串,而不是使用标准格式字符串,如果您希望稍后在代码中更清楚(或更简单地更改)。但你真的应该来弄清楚这是否意味着人类或机器使用。
答案 3 :(得分:1)
MSDN是你的朋友。这解释了DateTimes的所有格式字符串。
答案 4 :(得分:0)
DateTime.Now.ToString("dddd, MMMM, dd, yyyy h:mm tt");
可以压缩为
DateTime.Now.ToString("F", CultureInfo.CreateSpecificCulture("en-US"));
答案 5 :(得分:0)
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("F",
CultureInfo.CreateSpecificCulture("en-US")));
应该显示
Thursday, April 10, 2008 6:30:00 AM
答案 6 :(得分:0)
DateTime.Now.ToString("f");
以下是所有ToString()模式的列表。
答案 7 :(得分:0)
String.Format("{0:dddd, MMMM d, yyyy hh:mm tt}", dt);