Ho notato alcuni comportamenti strani in un test unitario per C#.Diversi risultati dal nuovo DateTime() e DateTime.Parse
Dato il seguente codice:
var dateTime = DateTime.Parse("01/01/2015");
Assert.AreEqual(dateTime, new DateTime(2015, 1, 1));
ottengo un test fallito con il risultato:
Expected: 2015-01-01 00:00:00.000
But was: 01/01/2015 00:00:00 +00:00
Ho provato a chiamare ToString()
su entrambi, passando CultureInfo.CurrentCulture
e impostando la DateKind sulla nuova chiamata DateTime sia a Local che a UTC ma ottengo lo stesso tipo di risultati.
Perché questi due metodi non danno lo stesso risultato?
[utilizzando '==' il risultato è vero] (http://csharppad.com/gist/ba4918946a41c49b9c4c). deve essere qualcosa che non stai mostrando. – Amit
Qual è il tuo 'CurrentCulture'? –
Qual è il tuo framework di test, e qual è la firma di "Assert.AreEqual' - ci vogliono' Object', 'DateTime',' String' o qualcos'altro? –