@@ -40,12 +40,12 @@ public void ToShortestXsdDateTimeString_works()
4040 const string shortDateString = "1979-05-09" ;
4141
4242 var shortDateTime = new DateTime ( 1979 , 5 , 9 , 0 , 0 , 1 , DateTimeKind . Utc ) ;
43- var shortDateTimeString = shortDateTime . Equals ( TimeZoneInfo . ConvertTimeToUtc ( shortDateTime ) )
43+ var shortDateTimeString = shortDateTime . Equals ( shortDateTime . ToStableUniversalTime ( ) )
4444 ? "1979-05-09T00:00:01Z"
4545 : "1979-05-08T23:00:01Z" ;
4646
4747 var longDateTime = new DateTime ( 1979 , 5 , 9 , 0 , 0 , 0 , 1 , DateTimeKind . Utc ) ;
48- var longDateTimeString = longDateTime . Equals ( TimeZoneInfo . ConvertTimeToUtc ( longDateTime ) )
48+ var longDateTimeString = longDateTime . Equals ( longDateTime . ToStableUniversalTime ( ) )
4949 ? "1979-05-09T00:00:00.001Z"
5050 : "1979-05-08T23:00:00.001Z" ;
5151
@@ -58,7 +58,7 @@ public void ToShortestXsdDateTimeString_works()
5858 public void Utc_Local_Equals ( )
5959 {
6060 var now = DateTime . Now ;
61- var utcNow = TimeZoneInfo . ConvertTimeToUtc ( now ) ;
61+ var utcNow = now . ToStableUniversalTime ( ) ;
6262
6363 Assert . That ( now . Ticks , Is . EqualTo ( utcNow . Ticks ) , "Ticks are different" ) ;
6464 Assert . That ( now , Is . EqualTo ( utcNow ) , "DateTimes are different" ) ;
@@ -122,7 +122,7 @@ public void AssertDateIsEqual(int whichDate)
122122
123123 //Don't test short dates without time to UTC as you lose precision
124124 var shortDateStr = dateTime . ToString ( DateTimeSerializer . ShortDateTimeFormat ) ;
125- var shortDateTimeStr = TimeZoneInfo . ConvertTimeToUtc ( dateTime ) . ToString ( DateTimeSerializer . XsdDateTimeFormatSeconds ) ;
125+ var shortDateTimeStr = dateTime . ToStableUniversalTime ( ) . ToString ( DateTimeSerializer . XsdDateTimeFormatSeconds ) ;
126126 var longDateTimeStr = DateTimeSerializer . ToXsdDateTimeString ( dateTime ) ;
127127 var shortestDateStr = DateTimeSerializer . ToShortestXsdDateTimeString ( dateTime ) ;
128128
@@ -135,14 +135,14 @@ public void AssertDateIsEqual(int whichDate)
135135
136136 Assert . That ( shortDate , Is . EqualTo ( dateTime . Date ) ) ;
137137
138- var shortDateTimeUtc = TimeZoneInfo . ConvertTimeToUtc ( shortDateTime ) ;
138+ var shortDateTimeUtc = shortDateTime . ToStableUniversalTime ( ) ;
139139 Assert . That ( shortDateTimeUtc , Is . EqualTo (
140140 new DateTime (
141141 shortDateTimeUtc . Year , shortDateTimeUtc . Month , shortDateTimeUtc . Day ,
142142 shortDateTimeUtc . Hour , shortDateTimeUtc . Minute , shortDateTimeUtc . Second ,
143143 shortDateTimeUtc . Millisecond , DateTimeKind . Utc ) ) ) ;
144144
145- Assert . That ( TimeZoneInfo . ConvertTimeToUtc ( longDateTime ) , Is . EqualTo ( TimeZoneInfo . ConvertTimeToUtc ( dateTime ) ) ) ;
145+ Assert . That ( longDateTime . ToStableUniversalTime ( ) , Is . EqualTo ( dateTime . ToStableUniversalTime ( ) ) ) ;
146146
147147 var toDateTime = DateTimeSerializer . ParseShortestXsdDateTime ( shortestDateStr ) ;
148148 AssertDatesAreEqual ( toDateTime , dateTime , "shortestDate" ) ;
@@ -158,7 +158,7 @@ public void AssertDateIsEqual(int whichDate)
158158
159159 private void AssertDatesAreEqual ( DateTime toDateTime , DateTime dateTime , string which )
160160 {
161- Assert . That ( TimeZoneInfo . ConvertTimeToUtc ( toDateTime ) . RoundToMs ( ) , Is . EqualTo ( TimeZoneInfo . ConvertTimeToUtc ( dateTime ) . RoundToMs ( ) ) , which ) ;
161+ Assert . That ( toDateTime . ToStableUniversalTime ( ) . RoundToMs ( ) , Is . EqualTo ( dateTime . ToStableUniversalTime ( ) . RoundToMs ( ) ) , which ) ;
162162 }
163163 }
164164}
0 commit comments