2011-01-10 3 views
3

"12秒" "2011年"のような書式設定された日時に表示する必要があります
ローカライズされた文字列 "sec"、 "year"を取得する方法を教えてください。これらの文字列を取得するには、.netが特別な形式で存在しますか?C#日時フォーマット。 "sec" "year"のようなローカライズされた文字列

+3

.NETで使用できるローカライズされた日付フォーマットはすでに定評があります。世界中のどのユーザーについても、それらを認識することができます。もちろん、カスタマイズされたフォーマットのようには見えません。カスタムフォーマットを使用しないでください。 –

答えて

3

いいえ、このようなものを使用できます。

DateTime.ToString("ss") + "sec"; 
5

いいえ、ありません。

これらのローカライズされた値を含むリソースファイルを作成して使用する必要があります。

2

あなたができる最善のは、次のとおりです。

private const string yearText = "{0} year"; // do this for month or hour or minute.. 
DateTime date = new DateTime(1999, 12, 10, 5, 10, 16); 
string year = GetYearString(date); 

private string GetYearString(DateTime date) 
{ 
     return string.Format(yearText, date.Year); 
} 

ます。また、このために列挙型を作成し、それをメソッドに渡し、列挙型に応じて、あなたの文字列を返すことができます。

2

DateTime.ToString(String、IformatProvider)メソッドを使用すると、DateTimeの表現を多くカスタマイズできます(詳細はthe method documentationを参照)。いくつかのオプションはこのAPIを使用してローカライズされていますが、ローカライズされたバージョンの "sec"、year "などにはカスタムリソースファイルが必要です。

関連する問題