Значение по умолчанию набора Формат DateTime c#

На большинство преимуществ использования попытки наконец уже указали, но я думал, что добавлю этого:

try
{
    // Code here that might throw an exception...

    if (arbitraryCondition)
    {
        return true;
    }

    // Code here that might throw an exception...
}
finally
{
    // Code here gets executed regardless of whether "return true;" was called within the try block (i.e. regardless of the value of arbitraryCondition).
}

Это поведение делает это очень полезным в различных ситуациях, особенно когда необходимо выполнить, очистка (расположите ресурсы), хотя использование блок часто лучше в этом случае.

35
задан tereško 5 October 2014 в 12:32
поделиться

6 ответов

«Формат по умолчанию» для даты и времени:

ShortDatePattern + ' ' + LongTimePattern

по крайней мере в текущей реализации mono . Это особенно болезненно, если вы хотите отобразить что-то вроде 2001-02-03T04: 05: 06Z, то есть дату и время, объединенные, как указано в ISO 8606 , но в вашем случае это не большая проблема:

using System;
using System.Globalization;
using System.Threading;

namespace test {
    public static class Program {
        public static void Main() {
            CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
            culture.DateTimeFormat.ShortDatePattern = "dd-MMM-yyyy";
            culture.DateTimeFormat.LongTimePattern = "";
            Thread.CurrentThread.CurrentCulture = culture;
            Console.WriteLine(DateTime.Now);
        }
    }
}

Это установит поведение ToString по умолчанию для даты и времени, чтобы вернуть ожидаемый формат.

51
ответ дан 27 November 2019 в 07:08
поделиться

Это в зависимости от настроек локализации вашего приложения. Измените это соответственно , чтобы получить правильный формат.

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

public static string ToMyDateTime(this DateTime dateTime) {
    return dateTime.ToString("dd-MMMM-yy");
}
8
ответ дан 27 November 2019 в 07:08
поделиться

DateTime.ToString () объединяет строки настраиваемого формата, возвращаемые свойствами ShortDatePattern и LongTimePattern DateTimeFormatInfo . Вы можете указать эти шаблоны в DateTimeFormatInfo.CurrentInfo .

Я никогда не пробовал это сам.

1
ответ дан 27 November 2019 в 07:08
поделиться

Если вы хотите быть уверенным, что ваша культура останется прежней, просто установите ее самостоятельно, чтобы избежать проблем.

System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("nl-BE");
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
System.Threading.Thread.CurrentThread.CurrentUICulture = ci;

В приведенном выше примере используется бельгийско-голландский язык для культуры потока.

CurrentCulture делает это. вся обработка даты и времени, а CurrentUICulture обрабатывает локализацию пользовательского интерфейса как ресурсы.

1
ответ дан 27 November 2019 в 07:08
поделиться

Вы можно написать ExtensionMethod следующим образом:

public static string ToMyString(this DateTime dateTime)
{
  return dateTime.ToString("needed format");
}
-1
ответ дан 27 November 2019 в 07:08
поделиться

Я не уверен, сработает ли это для веб-приложения, но вы можете попробовать установить свойство DateTimeFormat для текущего языка и региональных параметров.

Проверьте ] это и особенно это .

0
ответ дан 27 November 2019 в 07:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: