string.Format("{0} {1}", DateTime.Now.ToString("ddd MMM dd yyyy HH:mm tt"), TimeZone.CurrentTimeZone.StandardName);
//Result: Wed Sep 07 2011 14:29 PM Pacific Standard Time
Обрежьте стандартное время, если вы не хотите, чтобы показ.
EDIT:
Если вам нужно сделать это повсеместно, вы также можете расширить DateTime, чтобы включить метод, который сделает это за вас.
void Main()
{
Console.WriteLine(DateTime.Now.MyCustomToString());
}
// Define other methods and classes here
public static class DateTimeExtensions
{
public static string MyCustomToString(this DateTime dt)
{
return string.Format("{0} {1}", DateTime.Now.ToString("ddd MMM dd yyyy HH:mm tt"), TimeZone.CurrentTimeZone.StandardName).Replace(" Standard Time", string.Empty);
}
}
Вы можете запустить этот пример в LinqPad с прямым копированием, вставкой и запуском в режиме Программы.
БОЛЬШЕ РЕДАКТИРОВАТЬ
После комментариев снизу это обновленная версия.
void Main()
{
Console.WriteLine(DateTime.Now.MyCustomToString());
}
// Define other methods and classes here
public static class DateTimeExtensions
{
public static string MyCustomToString(this DateTime dt)
{
return string.Format("{0:ddd MMM dd yyyy hh:mm tt} {1}", DateTime.Now, TimeZone.CurrentTimeZone.StandardName).Replace(" Standard Time", string.Empty);
}
}