私は奇妙な問題に遭遇しました。 MYアプリは、5つの言語をサポートするためにローカライズされています。 これはカレンダーの種類のアプリであり、特定の日付のメモを書くオプションがあります。 言語設定をロシア語に変更する場合は、日付にメモを入力します(例:1/3/2012と6/3/2012)。この日付とメモはIsolatedStorageFile
に保存されています。アプリを終了します。異なる言語のWindows Phoneで解析中に日付が変わる
言語設定を英語に変更し、ノートは2012年3月1日と3/6/2012に保存されます。月と日付は逆です!私は、パーサーは、言語、デバイスに応じた形式で日付を読み込み、この
if (notes.Substring(i, 1) == " ")
{
m_arrNoteString[count] = notes.Substring(i + 1);
string temp = notes.Substring(0, i);
m_arrNoteDate[count] = DateTime.Parse(temp);
count++;
nextCharacter = (char)reader.Read();
notes = "";
break;
}
のように行われているファイルから
using (IsolatedStorageFileStream fileStream = storagefile.OpenFile("NotesFile", FileMode.Open, FileAccess.ReadWrite))
{
StreamWriter writer = new StreamWriter(fileStream);
for (int i = 0; i < m_noteCount; i++)
{
writer.Write(m_arrNoteDate[i].ToShortDateString());
writer.Write(" ");
writer.Write(m_arrNoteString[i]);
writer.WriteLine("~`");
}
writer.Close();
}
読書があるファイルにメモを書き込む方法:(
です設定されている?任意の回避策?
Alfah
は
ありがとう、 "d"が何であるか教えていただけますか? – alfah
問題を解決してくれてありがとう!! :D – alfah
あなたは大歓迎です! "d"については、ToString()によって認識される短い日付形式のパターンです。 ToShortDateString()のMSDNのドキュメントでは、「返り値は、ToString(String)メソッドで標準のDateTime書式文字列 "d"を指定して返される値と同じです。 ToShortDateStringではカルチャを渡すことができないため、この場合はToStringを使用しています。 – Clafou