Cuando convierto un valor datetimeoffset a un valor datetime, ¿hay alguna posibilidad de pérdida de datos? De documentación de MSDN, la conversión de datetimeoffset de fecha y hora se menciona como sigue:Conversión de DateTimeOffset a DateTime - pérdida de datos
La propiedad DateTime se usa más comúnmente para realizar DateTimeOffset a la conversión DateTime. Sin embargo, devuelve un valor de DateTime cuya propiedad Kind no está especificada. Esto significa que cualquier información sobre la relación del valor DateTimeOffset con UTC se pierde con la conversión cuando se usa la propiedad DateTime.
Para indicar que un valor DateTime convertido es la hora UTC, puede recuperar el valor de la propiedad DateTimeOffset.UtcDateTime. Difiere de la propiedad DateTime de dos maneras:
Devuelve un valor de DateTime cuya propiedad Kind es Utc. Si el valor de la propiedad Offset no es igual a TimeSpan.Zero, convierte la hora en UTC.
veo el siguiente método para convertir fecha y hora a compensar a fecha y hora:
static DateTime ConvertFromDateTimeOffset(DateTimeOffset dateTime)
{
if (dateTime.Offset.Equals(TimeSpan.Zero))
return dateTime.UtcDateTime;
else if (dateTime.Offset.Equals(TimeZoneInfo.Local.GetUtcOffset(dateTime.DateTime)))
return DateTime.SpecifyKind(dateTime.DateTime, DateTimeKind.Local);
else
return dateTime.DateTime;
}
Ahora en nuestro sistema que están convirtiendo a datetimeoffset de fecha y hora en la forma anterior. Más tarde queremos convertir el datetime a datetimeoffset.
A modo de ejemplo:
DateTime dt = ConvertFromDateTimeOffset(datetimeOffset);
DateTimeOffset dofsetnew = new DateTimeOffset(dt);
Mi pregunta es si en cualquier circunstancia y DateTimeOffset dofsetnew ser diferentes? De ser así, la conversión sería información de pérdida.