diff options
Diffstat (limited to 'src/mscorlib/src/System/DateTime.CoreCLR.cs')
-rw-r--r-- | src/mscorlib/src/System/DateTime.CoreCLR.cs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/mscorlib/src/System/DateTime.CoreCLR.cs b/src/mscorlib/src/System/DateTime.CoreCLR.cs new file mode 100644 index 0000000000..69c595663b --- /dev/null +++ b/src/mscorlib/src/System/DateTime.CoreCLR.cs @@ -0,0 +1,29 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Diagnostics.Contracts; +using System.Runtime.CompilerServices; + +namespace System +{ + public partial struct DateTime + { + public static DateTime UtcNow + { + get + { + Contract.Ensures(Contract.Result<DateTime>().Kind == DateTimeKind.Utc); + // following code is tuned for speed. Don't change it without running benchmark. + long ticks = 0; + ticks = GetSystemTimeAsFileTime(); + + return new DateTime(((UInt64)(ticks + FileTimeOffset)) | KindUtc); + } + } + + + [MethodImplAttribute(MethodImplOptions.InternalCall)] + internal static extern long GetSystemTimeAsFileTime(); + } +} |