2016-11-11 3 views
-4

誰でも手助けできますか?私は、ToStringメソッド()は、より良い質問をフレームにAMを使用してC#で分単位の時間を作成する

「1/1/0001午前12:00:00」

と呼ばれている場合は、次のを返しますDateTimeオブジェクトを作成する必要があります。私は既存のメソッドのテストを書いています。これは、渡されたDateTimeのToStringを呼び出すメソッドです。その後、「1/1/0001 12:00:00 AM」と比較されます。今は、私はまだメソッドを変更したくないメソッドの現在の動作を特徴づけようとしています。私が見つけようとしているのは、ToStringが呼び出されたときにその文字列を生成するDateTimeを作成することができるかどうかです。あなたはとても

DateTime.MinValue.ToString("d/M/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); 

これはあなたがこれを設定することができ

一つの方法は、新規に作成することです要求されているとおりに日付を表​​示するようにDateTimeをフォーマットする必要が

おかげ

+2

あなたはDateTimeのフォーマット方法についてGoogleで検索していますか?それに関するドキュメンテーション、記事、トピックがたくさんあります。研究努力をしてください。 –

+0

[カスタム日付と時刻の形式の文字列](https://msdn.microsoft.com/en-us/library/8kb3ddd4(v = vs.110).aspx) – Jim

答えて

1

これはそれを行う必要があります。

DateTime.MinValue.ToString(new CultureInfo("en-US")); 

あなたがToString()を呼び出すときに、すべての日付時刻がアメリカにフォーマットしたい場合は、アクティブな文化としてEN-USに設定する必要があります。

System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); 

ToString()へのすべての通話は、アメリカ式のフォーマットになります。しかし、我々はすべてfloatdecimalのような他のデータ型はまた、アメリカンスタイルの書式設定されていることを認識しています。

+0

これは間違いなく正しいですが、私の答えは'dd'または' d'(私は真に知らない)として日を返しますか? –

+0

'd'と全く同じように要求されます。 – Magnus

+0

投票の理由は何ですか? – Magnus

0

この具体的にこれを行うstatic class

public static class MyDateTime 
{ 
    public static string ToS(DateTime dt) 
    { 
     return dt.ToString("d/M/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); 
    } 
} 

これは、クラスが静的であるため、それをインスタンス化する必要はありませんので、

string test = MyDateTime.ToS(DateTime.MinValue); 

のように呼び出されます。

関連する問題