誰かが私がここで間違っているのを見ることができますか? Assert.IsTrue(parses)
は常に失敗します。このDateTimeパースは常に失敗するのはなぜですか?
[TestMethod]
public void Can_Parse_To_DateTime()
{
DateTime expected = new DateTime(2011, 10, 19, 16, 01, 59);
DateTime actual;
string value = "Wed Oct 19 16:01:59 PDT 2011";
string mask = "ddd MMM dd HH:mm:ss xxx YYYY";
bool parses = DateTime.TryParseExact(value, mask,
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out actual);
Assert.IsTrue(parses);
Assert.AreEqual(expected, actual);
}
私も同じ結果で、これを試してみました:
[TestMethod]
public void parsing()
{
DateTime expected = new DateTime(2011, 10, 19, 16, 01, 59);
DateTime actual;
string value = "Wed Oct 19 16:01:59 PDT 2011";
string mask = "ddd MMM dd HH:mm:ss YYYY"; // note removal of "xxx "
value = value.Remove(20, 4); // removal of the "PDT "
bool parses = DateTime.TryParseExact(value, mask,
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out actual);
Assert.IsTrue(parses);
Assert.AreEqual(expected, actual);
}
年は "yyyy"(小文字)にする必要がありますが、 "PDT"と解釈する書式文字列はありません。 –
@MattHamilton - これが答えです!それを変更し、それは動作します。回答として投稿し、私はそれを受け入れるでしょう。 –
@Alに担当者がいます。 :) –