public static string ToShortestXsdDateTimeString(DateTime dateTime) { var timeOfDay = dateTime.TimeOfDay; if (timeOfDay.Ticks == 0) return dateTime.ToString(ShortDateTimeFormat); if (timeOfDay.Milliseconds == 0) return dateTime.ToStableUniversalTime().ToString(XsdDateTimeFormatSeconds); return ToXsdDateTimeString(dateTime); }
public void ToShortestXsdDateTimeString_works() { var shortDate = new DateTime(1979, 5, 9); const string shortDateString = "1979-05-09"; var shortDateTime = new DateTime(1979, 5, 9, 0, 0, 1, DateTimeKind.Utc); var shortDateTimeString = shortDateTime.Equals(shortDateTime.ToStableUniversalTime()) ? "1979-05-09T00:00:01Z" : "1979-05-08T23:00:01Z"; var longDateTime = new DateTime(1979, 5, 9, 0, 0, 0, 1, DateTimeKind.Utc); var longDateTimeString = longDateTime.Equals(longDateTime.ToStableUniversalTime()) ? "1979-05-09T00:00:00.001Z" : "1979-05-08T23:00:00.001Z"; Assert.That(shortDateString, Is.EqualTo(DateTimeSerializer.ToShortestXsdDateTimeString(shortDate))); Assert.That(shortDateTimeString, Is.EqualTo(DateTimeSerializer.ToShortestXsdDateTimeString(shortDateTime))); Assert.That(longDateTimeString, Is.EqualTo(DateTimeSerializer.ToShortestXsdDateTimeString(longDateTime))); }
public static string ToXsdDateTimeString(DateTime dateTime) { return XmlConvert.ToString(dateTime.ToStableUniversalTime(), XmlDateTimeSerializationMode.Utc); }
public static string ToDateTimeString(DateTime dateTime) { return dateTime.ToStableUniversalTime().ToString(XsdDateTimeFormat); }
public static string ToXsdDateTimeString(DateTime dateTime) { #if NETFX_CORE return XmlConvert.ToString(dateTime.ToStableUniversalTime(), XsdDateTimeFormat); #else return XmlConvert.ToString(dateTime.ToStableUniversalTime(), XmlDateTimeSerializationMode.Utc); #endif }
private void AssertDatesAreEqual(DateTime toDateTime, DateTime dateTime, string which) { Assert.That(toDateTime.ToStableUniversalTime().RoundToMs(), Is.EqualTo(dateTime.ToStableUniversalTime().RoundToMs()), which); }
public static bool IsEqualToTheSecond(this DateTime dateTime, DateTime otherDateTime) { return dateTime.ToStableUniversalTime().RoundToSecond().Equals(otherDateTime.ToStableUniversalTime().RoundToSecond()); }
public static string ToShortestXsdDateTimeString(DateTime dateTime) { var timeOfDay = dateTime.TimeOfDay; var isStartOfDay = timeOfDay.Ticks == 0; if (isStartOfDay) return dateTime.ToString(ShortDateTimeFormat); var hasFractionalSecs = (timeOfDay.Milliseconds != 0) || ((timeOfDay.Ticks%TimeSpan.TicksPerMillisecond) != 0); if (!hasFractionalSecs) return dateTime.Kind != DateTimeKind.Utc ? dateTime.ToString(DateTimeFormatSecondsUtcOffset) : dateTime.ToStableUniversalTime().ToString(XsdDateTimeFormatSeconds); return dateTime.Kind != DateTimeKind.Utc ? dateTime.ToString(DateTimeFormatTicksUtcOffset) : PclExport.Instance.ToXsdDateTimeString(dateTime); }
public static string ToShortestXsdDateTimeString(DateTime dateTime) { var timeOfDay = dateTime.TimeOfDay; var isStartOfDay = timeOfDay.Ticks == 0; if (isStartOfDay && !JsConfig.SkipDateTimeConversion) return dateTime.ToString(ShortDateTimeFormat); var hasFractionalSecs = (timeOfDay.Milliseconds != 0) || (timeOfDay.Ticks % TimeSpan.TicksPerMillisecond != 0); if (JsConfig.SkipDateTimeConversion) { if (!hasFractionalSecs) return dateTime.Kind == DateTimeKind.Local ? dateTime.ToString(DateTimeFormatSecondsUtcOffset) : dateTime.Kind == DateTimeKind.Unspecified ? dateTime.ToString(DateTimeFormatSecondsNoOffset) : dateTime.ToStableUniversalTime().ToString(XsdDateTimeFormatSeconds); return dateTime.Kind == DateTimeKind.Local ? dateTime.ToString(DateTimeFormatTicksUtcOffset) : dateTime.Kind == DateTimeKind.Unspecified ? dateTime.ToString(DateTimeFormatTicksNoUtcOffset) : PclExport.Instance.ToXsdDateTimeString(dateTime); } if (!hasFractionalSecs) return dateTime.Kind != DateTimeKind.Utc ? dateTime.ToString(DateTimeFormatSecondsUtcOffset) : dateTime.ToStableUniversalTime().ToString(XsdDateTimeFormatSeconds); return dateTime.Kind != DateTimeKind.Utc ? dateTime.ToString(DateTimeFormatTicksUtcOffset) : PclExport.Instance.ToXsdDateTimeString(dateTime); }
public override string ToXsdDateTimeString(DateTime dateTime) { return System.Xml.XmlConvert.ToString(dateTime.ToStableUniversalTime(), System.Xml.XmlDateTimeSerializationMode.Utc); }
public static string ToShortestXsdDateTimeString(DateTime dateTime) { var timeOfDay = dateTime.TimeOfDay; if (timeOfDay.Ticks == 0) return dateTime.ToString(ShortDateTimeFormat); if (timeOfDay.Milliseconds == 0) return dateTime.Kind != DateTimeKind.Utc ? dateTime.ToString(DateTimeFormatSecondsUtcOffset) : dateTime.ToStableUniversalTime().ToString(XsdDateTimeFormatSeconds); return dateTime.Kind != DateTimeKind.Utc ? dateTime.ToString(DateTimeFormatTicksUtcOffset) : PclExport.Instance.ToXsdDateTimeString(dateTime); }