2013-07-09 1 views
0

даты и времени), я изменил мой формат дату системы фарерского.преобразования DateTime в строку в соответствии с customCultureInfo в G ((сочетание формата

Я хочу, чтобы преобразовать DateTime в строку в соответствии с customCulture с форматом G (комбинации даты и времени)

проверки код ниже.

namespace TestDateConvertion 
     { 
      class Program 
      { 
       static void Main(string[] args) 
       { 
        object value = new DateTime(2003,12,23,6,22,30); 
        DateTime dateTimeValue = (DateTime)value; 
        CultureInfo customCulture = MySettings.getCustomCulture(); 
            //for getting custom culture in my app 
            //in custom culture i have changed shortDateFormat according to the user preference. 
            //value in shortDateFormat = dd/MM/yyyy 




        string result = string.Format(customCulture, "{0:G}", result); 

        Console.WriteLine(result); 
        Console.ReadLine(); 
       } 
      } 
     } 

, но я получить выход с sepertators в соответствии с системой DateTime не с пользователями данного формата в customCulture,

Я даже не нахожу какой-либо метод, перегруженный в string.Format() или DateTime.ToString() для этого.

Если я передаю CultureInfo.InvariantCulture, то я не могу получить вывод в формате G.

+0

Как создается культура здесь «MySettings.getCustomCulture();'? – V4Vendetta

+0

У меня есть класс MySettings, который дает мне customCulture, созданный с использованием формата даты от пользователя. то же самое я сохраню в customCulture.shortDateFormat –

ответ

0

попробовать это:

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0); 
Console.WriteLine(date1.ToString("G", DateTimeFormatInfo.InvariantInfo)); 
// Displays 04/10/2008 06:30:00 
Console.WriteLine(date1.ToString("G", CultureInfo.CreateSpecificCulture("en-us"))); 
// Displays 4/10/2008 6:30:00 AM       
Console.WriteLine(date1.ToString("G", CultureInfo.CreateSpecificCulture("nl-BE"))); 
1

Согласно Standard Date and Time Format Strings "G" использует короткий формат даты (как вы утверждаете указать). Так что, скорее всего, причина использования локального сепаратора культуры покрыта The "/" Custom Format Specifier части «» Пользовательский формат даты и времени Строки».

Поскольку ваш„короткий формат даты“"dd/MM/yyyy", чем вместо "/" он будет использовать соответствующий разделитель из культуры Информация (которые вы, вероятно, выбирая из культуры по умолчанию).

Убегая с \ покрыта в Using the escape character части той же статьи «Пользовательские формат даты и времени Строки».

Так что вы хотите, чтобы ваши shortDateFormat = @"dd\/MM\/yyyy" или правильно указать DateTimeSeparator в co соответствующая часть вашего заказа CultureInfo.

 Смежные вопросы

  • Нет связанных вопросов^_^