Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 4ff02e9

Browse files
author
Ian Hays
committed
Merge pull request #2611 from ianhays/FSTime
Fixed AccessTime, WriteTime, and CreationTime to return a DateTime object with properly set DateTimeKind
2 parents 652d9eb + df06e56 commit 4ff02e9

File tree

6 files changed

+21
-9
lines changed

6 files changed

+21
-9
lines changed

src/System.IO.FileSystem/src/System/IO/File.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ public static void SetCreationTimeUtc(String path, DateTime creationTime)
260260
public static DateTime GetCreationTime(String path)
261261
{
262262
String fullPath = PathHelpers.GetFullPathInternal(path);
263-
return FileSystem.Current.GetCreationTime(fullPath).DateTime;
263+
return FileSystem.Current.GetCreationTime(fullPath).LocalDateTime;
264264
}
265265

266266
[System.Security.SecuritySafeCritical] // auto-generated
@@ -286,7 +286,7 @@ public static void SetLastAccessTimeUtc(String path, DateTime lastAccessTimeUtc)
286286
public static DateTime GetLastAccessTime(String path)
287287
{
288288
String fullPath = PathHelpers.GetFullPathInternal(path);
289-
return FileSystem.Current.GetLastAccessTime(fullPath).DateTime;
289+
return FileSystem.Current.GetLastAccessTime(fullPath).LocalDateTime;
290290
}
291291

292292
[System.Security.SecuritySafeCritical] // auto-generated
@@ -312,7 +312,7 @@ public static void SetLastWriteTimeUtc(String path, DateTime lastWriteTimeUtc)
312312
public static DateTime GetLastWriteTime(String path)
313313
{
314314
String fullPath = PathHelpers.GetFullPathInternal(path);
315-
return FileSystem.Current.GetLastWriteTime(fullPath).DateTime;
315+
return FileSystem.Current.GetLastWriteTime(fullPath).LocalDateTime;
316316
}
317317

318318
[System.Security.SecuritySafeCritical] // auto-generated

src/System.IO.FileSystem/src/System/IO/UnixFileSystemObject.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ public DateTimeOffset LastAccessTime
193193
get
194194
{
195195
EnsureStatInitialized();
196-
return DateTimeOffset.FromUnixTimeSeconds(_fileinfo.atime);
196+
return DateTimeOffset.FromUnixTimeSeconds(_fileinfo.atime).ToLocalTime();
197197
}
198198
set { SetAccessWriteTimes((IntPtr)value.ToUnixTimeSeconds(), null); }
199199
}
@@ -203,7 +203,7 @@ public DateTimeOffset LastWriteTime
203203
get
204204
{
205205
EnsureStatInitialized();
206-
return DateTimeOffset.FromUnixTimeSeconds(_fileinfo.mtime);
206+
return DateTimeOffset.FromUnixTimeSeconds(_fileinfo.mtime).ToLocalTime();
207207
}
208208
set { SetAccessWriteTimes(null, (IntPtr)value.ToUnixTimeSeconds()); }
209209
}

src/System.IO.FileSystem/tests/Directory/GetSetTimes.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,10 @@ public void SettingUpdatesProperties()
7272
{
7373
DateTime dt = new DateTime(2014, 12, 1, 12, 0, 0, tuple.Item3);
7474
tuple.Item1(testDir.FullName, dt);
75-
Assert.Equal(dt, tuple.Item2(testDir.FullName));
75+
var result = tuple.Item2(testDir.FullName);
76+
Assert.Equal(dt, result);
77+
Assert.Equal(dt.ToLocalTime(), result.ToLocalTime());
78+
Assert.Equal(dt.ToUniversalTime(), result.ToUniversalTime());
7679
});
7780
}
7881

src/System.IO.FileSystem/tests/DirectoryInfo/GetSetTimes.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,10 @@ public void SettingUpdatesProperties()
5252
{
5353
DateTime dt = new DateTime(2014, 12, 1, 12, 0, 0, tuple.Item3);
5454
tuple.Item1(testDir, dt);
55-
Assert.Equal(dt, tuple.Item2(testDir));
55+
var result = tuple.Item2(testDir);
56+
Assert.Equal(dt, result);
57+
Assert.Equal(dt.ToLocalTime(), result.ToLocalTime());
58+
Assert.Equal(dt.ToUniversalTime(), result.ToUniversalTime());
5659
});
5760
}
5861

src/System.IO.FileSystem/tests/File/GetSetTimes.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,10 @@ public void SettingUpdatesProperties()
7373
{
7474
DateTime dt = new DateTime(2014, 12, 1, 12, 0, 0, tuple.Item3);
7575
tuple.Item1(testFile.FullName, dt);
76-
Assert.Equal(dt, tuple.Item2(testFile.FullName));
76+
var result = tuple.Item2(testFile.FullName);
77+
Assert.Equal(dt, result);
78+
Assert.Equal(dt.ToLocalTime(), result.ToLocalTime());
79+
Assert.Equal(dt.ToUniversalTime(), result.ToUniversalTime());
7780
});
7881
}
7982

src/System.IO.FileSystem/tests/FileInfo/GetSetTimes.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,10 @@ public void SettingUpdatesProperties()
5353
{
5454
DateTime dt = new DateTime(2014, 12, 1, 12, 0, 0, tuple.Item3);
5555
tuple.Item1(testFile, dt);
56-
Assert.Equal(dt, tuple.Item2(testFile));
56+
var result = tuple.Item2(testFile);
57+
Assert.Equal(dt, result);
58+
Assert.Equal(dt.ToLocalTime(), result.ToLocalTime());
59+
Assert.Equal(dt.ToUniversalTime(), result.ToUniversalTime());
5760
});
5861
}
5962

0 commit comments

Comments
 (0)