4

ユーザーは次の形式で日付を入力する必要があります。%m %d %Y

私がする必要があるのは、日付を次のように変換することです: 11 11 2013(これは今日の日付です)。私は日付をあまり扱っていません。この変換をすぐに実行できる方法はありますか? DateTime オプションを調べましたが、必要なものが見つかりませんでした。

編集:

受け取った回答からすると、私が何を求めているのかがあまり明確ではないようです。

私たちのソフトウェアでは、ユーザーは次のような形式で日付を挿入できます。

http://ellislab.com/expressionengine/user-guide/templates/date_variable_formatting.html

このユーザー入力を解析して今日の日付を返そうとしています。したがって、上記のリンクから:

%m - 月 - 「01」から「12」</p>

%d - 月の日、先行ゼロ付きの 2 桁 - 「01」から「31」</p>

%Y - 年、4 桁 - 「1999」</p>

%m %d %Y入力として受け取り、対応する今日の日付を指定された形式(今日)で返すメソッドがあるかどうか疑問に思っていました11 11 2013。または、少なくともそれに近い何か。それが今より明確になることを願っています。

編集2:

もう少し掘り下げた後、私が探しているのは C# の C++ strftime に相当することがわかりました。

http://www.cplusplus.com/reference/ctime/strftime/

しかし、何らかの理由で、これを C# で実装する例を見ることができません。

4

3 に答える 3

4

DateTime.TryParseExact文字列を現在まで解析DateTime-ToStringし、目的の形式の文字列に変換するために使用できます。

DateTime parsedDate;
if (DateTime.TryParseExact("11 11 2013", "MM dd yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out parsedDate))
{ 
    // parsed successfully, parsedDate is initialized
    string result = parsedDate.ToString("MM dd yyyy", System.Globalization.CultureInfo.InvariantCulture);
    Console.Write(result);
}
于 2013-11-11T13:57:20.197 に答える
2

ParseExactを使用します。

var date = DateTime.ParseExact("9 1 2009", "M d yyyy", CultureInfo.InvariantCulture);
于 2013-11-11T13:57:06.803 に答える