+2010-01-15 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DateTime.cs : In AddMilliseconds(), it seems fractional
+ milliseconds are first rounded and then added.
+
2010-01-15 Atsushi Enomoto <atsushi@ximian.com>
* DateTimeOffset.cs : preserve fractions (it is somehow dropped).
(value * TimeSpan.TicksPerMillisecond) < long.MinValue) {
throw new ArgumentOutOfRangeException();
}
- long msticks = (long) (value * TimeSpan.TicksPerMillisecond);
+ long msticks = (long) Math.Round (value * TimeSpan.TicksPerMillisecond);
return AddTicks (msticks);
}
+2010-01-15 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DateTimeTest.cs : added test for rounding milliseconds.
+
2010-01-15 Atsushi Enomoto <atsushi@ximian.com>
* DateTimeOffsetTest.cs : add ParseExact() case that should preserve
t1 = DateTime.ParseExact ("20050707132527Z",
"yyyyMMddHHmmss\\Z", CultureInfo.InvariantCulture);
Assert.AreEqual (632563395270000000, t1.Ticks, "#L2");
+
+ // XAttributeTest.CastDateTimeOffsets():#6b
+ t1 = DateTime.ParseExact ("2039-10-31T12:34:56.7552+00:00", "yyyy-MM-ddTHH:mm:ss.FFFFFFFzzz",
+ CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
+ Assert.AreEqual (643393064967552000, t1.Ticks, "#M");
}
[Test]