Как узнать дату и время в этом формате? - PullRequest
0 голосов
/ 18 ноября 2011

Пожалуйста, дайте мне знать, как я могу получить текущую дату и время в этом формате:

Пятница, 18 ноября 2011 г. 7:00 PM

Ответы [ 8 ]

10 голосов
/ 18 ноября 2011

Если CurrentCulture равно en-US:

DateTime.Now.ToString("f")

В противном случае вы можете указать культуру:

DateTime.Now.ToString("f", CultureInfo.CreateSpecificCulture("en-US"))

Или вы можете использовать пользовательскую строку, которая снова будет зависеть от культуры для названия месяца / дня и 24-часового времени.

Я бы не рекомендовал использовать InvariantCulture, который предназначен для машинного использования.

4 голосов
/ 18 ноября 2011

Это должно работать:

string date = someDate.ToString("dddd, MMMM dd, yyyy h:mm tt");
2 голосов
/ 18 ноября 2011

Sure:

string text = DateTime.Now.ToString("dddd, MMMM dd, yyyy h:mm tt",
                                    CultureInfo.InvariantCulture);

Имейте в виду, вы, возможно, захотите использовать одну из стандартных строк формата даты / времени вместо пользовательской такой, как эта. По сути, это удобочитаемая форма , которая обычно должна учитывать культуру пользователя, которому она будет отображаться.

Как упоминалось в dahlbyk, InvariantCulture обычно используется для форматирования между компьютерами, например, для строк нестандартного формата, поэтому я использовал его здесь. Если это для потребления человеком, но вы всегда хотите его на американском английском, то вам следует указать культуру США. Вы можете по-прежнему хотеть указать строку пользовательского формата вместо использования строки стандартного формата, если вы хотите сделать ее более понятной в своем коде (или ее проще изменить позже). Но вы действительно должны понять, предназначено ли это для использования людьми или машинами.

1 голос
/ 18 ноября 2011

MSDN ваш друг. Это объясняет все о строках формата для DateTimes.

0 голосов
/ 18 ноября 2011
String.Format("{0:dddd, MMMM d, yyyy hh:mm tt}", dt);
0 голосов
/ 18 ноября 2011

DateTime.Now.ToString("f");

Вот список всех шаблонов ToString () .

0 голосов
/ 18 ноября 2011
 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
0 голосов
/ 18 ноября 2011
DateTime.Now.ToString("dddd, MMMM, dd, yyyy h:mm tt");

Который может быть сжат как

DateTime.Now.ToString("F", CultureInfo.CreateSpecificCulture("en-US"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...