私の wpf アプリでは、選択した日付形式を比較するための次のコードを記述しました。
C# コード:
class Harvest_Base
{
public static DateTime storeTime(String date)
{
DateTime returnValue = new DateTime();
if (date == "")
return returnValue;
//Time or Date Component Does not Exist
string[] formats= {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt",
"MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", "yyyy-mm-dd",
"M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", "M/d/yyyy h:mm", "M/d/yyyy h:mm",
"MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm",
"h:mm tt","hh:mm tt","HH:mm:ss","H:mm","HH:mm","h:mmtt"};
DateTime result;
if (DateTime.TryParseExact(date, formats, System.Globalization.CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
returnValue = result;
else
returnValue = DateTime.Today;
return returnValue;
}
ここでの問題は、ブレークポイントを設定して「date」オブジェクトをチェックすると、mw 選択された日付が適切に表示されることです。日付の形式は「yyyy-mm-dd」です。「2013-08-08」を選択すると、returnValue は日付を「08-01-2013 00:08:00」と表示します。全然違うフォーマットです。形式を無視すると、月が間違っています。これをどのように解決すればよいですか?