datetimeoffset 값을 datetime 값으로 변환 할 때 데이터 손실 가능성이 있습니까?DateTimeOffset - DateTime 변환 - 데이터 손실
날짜 시간 속성은 가장 일반적으로 날짜 시간을 DateTimeOffset 변환을 수행하는 데 사용된다 : 다음 MSDN 문서에서 는 날짜에 DATETIMEOFFSET로부터 변환 언급된다. 그러나 Kind 속성이 Unspecified 인 DateTime 값을 반환합니다. 즉, 에 대한 정보와 DateTimeOffset 값의 UTC와의 관계는 DateTime 속성을 사용할 때 변환에 의해 손실됩니다.
변환 된 DateTime 값이 UTC 시간임을 나타내려면 DateTimeOffset.UtcDateTime 속성 값을 검색 할 수 있습니다. 두 가지 방법으로 DateTime 속성과 다릅니다.
Kind 속성이 Utc 인 DateTime 값을 반환합니다. Offset 속성 값이 TimeSpan.Zero와 같지 않으면 시간을 UTC로 변환합니다.
나는 다음과 같은 방법이 날짜 날짜 오프셋 변환하려면 다음을 참조하십시오
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;
}
지금 우리의 시스템에서 우리는 위의 방법으로 날짜에 DATETIMEOFFSET 변환된다. 나중에 datetime을 datetimeoffset으로 다시 변환하려고합니다. 예를 들어
는 :
DateTime dt = ConvertFromDateTimeOffset(datetimeOffset);
DateTimeOffset dofsetnew = new DateTimeOffset(dt);
내 질문은 어떤 상황과 DATETIMEOFFSET 다를 수 dofsetnew 아래 여부? 그렇다면 변환은 손실 데이터가됩니다.