3

以下のコードでは、関数にsTransactionDate = "1999"を指定し、それを日付x / x/1999に変換しようとしています。

DateTime dTransactionDate = new DateTime();
if(DateTime.TryParse(sTransactionDate, out dTransactionDate))
{ //Happy 
}else
{ //Sad 
}

文字列が「1999」の場合、常に悲しくなります。何か案は?

4

4 に答える 4

15

このようなことを試してください(適切に調整してくださいCultureInfoDateTimeStyles

DateTime.TryParseExact
  ("1999",
   "yyyy",
   CultureInfo.InvariantCulture,
   DateTimeStyles.None,
   out dTransactionDate)
于 2009-06-18T16:20:34.447 に答える
4

どうですか...

DateTime dTransactionDate = new DateTime();
if (DateTime.TryParseExact(sTransactionDate, "yyyy",
    CultureInfo.InvariantCulture, DateTimeStyles.None, out dTransactionDate))
{
    // Happy
}
else
{
    // Sad
}

...または単に...

DateTime dTransactionDate = new DateTime(int.Parse(sTransactionDate), 1, 1);
// Happy
于 2009-06-18T16:28:04.350 に答える
2

「1999」は日付ではなく、1999年1月1日を試してみる年です

于 2009-06-18T16:19:54.507 に答える