2011-03-22 4 views
2

私は2行として表現したいタイムスタンプを持っています。現在、私は "timeStamp.ToString(" dd/MM/yyyy \ nhh:mm:ss tt ")を使用しています。DateTimeを文字列に変換し、文化を保存しながら文字列に改行を書式設定します

グローバリゼーションが問題になると、このタイムスタンプが正しく表示されるように、このためのカルチャを維持したいと思います。

これを達成する簡単な方法はありますか?または、私は何かをする必要がありますか... string.Format( "{0} \ n {1}"、timeStamp.Date.ToString()、timeStamp.Time.ToString()); ?あなたは文化の情報を保持したいように見える

おかげ

+0

は、あなたはそれに関係なくCurrentCulture' 'の同じを表示するか、またはあなたはそれが柔軟になりたいですか? –

+0

米国のロケールコンピュータ(つまりmm/dd/yyyy)にen-USとして表示することをお勧めします。米国以外では、(dd/mm/yyy)またはそのロケールの標準として実行すると思います。私はこれが柔軟であることを望んでいると私は信じています。 –

答えて

6

カスタム方法でDateTime値をフォーマットするDate and Time Format Stringsを使用することができます。

string result = string.Format("{0:d}\n{0:T}", timestamp); 

// result == "6/15/2009\n1:45:30 PM" (en-US) 
// result == "15.06.2009\n13:45:30" (de-DE) 
+0

本当に欲しいのであれば、 'String.Format(" {1:d} {0} {1:T} "、Environment.NewLine、timestamp)'です。注意しておきたいのは、改行を使って書式を設定するときは常に改行引数を0にすることです。 – Tergiver

1

は、これを行う最も簡単な方法は、あなた自身の例を使用することです。

string.Format("{0}\r\n{1}", timeStamp.ToShortDateString(), timeStamp.ToLongTimeString()); 
関連する問題