2013-10-10 8 views
0

Я пытаюсь настроить пользовательскую культуру в моем проекте. Но у меня есть проблема, которую я искал в Google и нашел следующий код. Но у меня есть некоторые проблемы с этим, пожалуйста, обратите внимание на это в комментарии.Настройка собственной культуры или изменение текущей культуры для datetime

using System; 
using System.IO; 
using System.Globalization; 

public class Example 
{ 
    public static void Main() 
    { 
     // Persist the date and time data. 
     StreamWriter sw = new StreamWriter(@".\DateData.dat"); 

     // Create a DateTime value.  
     DateTime dtIn = DateTime.Now; 
     // Retrieve a CultureInfo object. 
     CultureInfo invC = CultureInfo.InvariantCulture; 

     // Convert the date to a string and write it to a file. 
     sw.WriteLine(dtIn.ToString("r", invC));//what r mean?. if r is the custem culture  variabel then how we determin it. 
     sw.Close(); 

     // Restore the date and time data. 
     StreamReader sr = new StreamReader(@".\DateData.dat"); 
     String input; 
     while ((input = sr.ReadLine()) != null) 
     { 
      Console.WriteLine("Stored data: {0}\n" , input);  

      // Parse the stored string. 
      DateTime dtOut = DateTime.Parse(input, invC, DateTimeStyles.RoundtripKind); 

      // Create a French (France) CultureInfo object. 
      CultureInfo frFr = new CultureInfo("fr-FR"); 
      // Displays the date formatted for the "fr-FR" culture. 
      Console.WriteLine("Date formatted for the {0} culture: {1}" , 
         frFr.Name, dtOut.ToString("f", frFr));// f? 

      // Creates a German (Germany) CultureInfo object. 
      CultureInfo deDe= new CultureInfo("de-De"); 
      // Displays the date formatted for the "de-DE" culture. 
      Console.WriteLine("Date formatted for {0} culture: {1}" , 
         deDe.Name, dtOut.ToString("f", deDe)); 
     } 
     sr.Close(); 
    } 
} 
+0

Вы читали обширную документацию от Microsoft? – SLaks

+0

@slaks да я копирую это оттуда. –

+0

Получаете ли вы какие-либо ошибки/исключения, если да, то какие они? – Sam

ответ

1

Вот ссылка, которая показывает много значений форматирования для метода DateTime.ToString(). Я не вижу ни одного нижнего регистра «r», но вывод вашего кода кажется таким же, как у «R» или «r».

http://msdn.microsoft.com/en-us/library/zdtaw1bw.aspx

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

Мне пришлось угадать, о чем вы просили, потому что в коде нет вопросов, кроме кода. Пожалуйста, предоставьте более подробную информацию, если я неправильно понял, о чем вы спрашиваете.

Возможно, если бы вы показали свой результат, это помогло бы.

А вот ссылка, которая на самом деле говорит о том, что «r» совпадает с «R». Так что теперь у вас есть документация для этой части Вашего вопроса:

http://msdn.microsoft.com/en-us/library/az4se3k1.aspx

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