andrew4582

DateTimeUtil

Dec 20th, 2011
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.52 KB | None | 0 0
  1.  
  2. namespace System {
  3.     internal sealed class DateTimeUtil {
  4.         private const long FileTimeOffset = 504911232000000000L;
  5.  
  6.         private readonly static DateTime MaxValueMinusOneDay;
  7.  
  8.         private readonly static DateTime MinValuePlusOneDay;
  9.  
  10.         static DateTimeUtil() {
  11.             DateTime minValue = DateTime.MinValue;
  12.             DateTimeUtil.MinValuePlusOneDay = minValue.AddDays(1);
  13.             DateTime maxValue = DateTime.MaxValue;
  14.             DateTimeUtil.MaxValueMinusOneDay = maxValue.AddDays(-1);
  15.         }
  16.  
  17.         private DateTimeUtil() {
  18.         }
  19.  
  20.         internal static DateTime ConvertToLocalTime(DateTime utcTime) {
  21.             if(utcTime < DateTimeUtil.MinValuePlusOneDay) {
  22.                 return DateTime.MinValue;
  23.             }
  24.             if(utcTime > DateTimeUtil.MaxValueMinusOneDay) {
  25.                 return DateTime.MaxValue;
  26.             }
  27.             return utcTime.ToLocalTime();
  28.         }
  29.  
  30.         internal static DateTime ConvertToUniversalTime(DateTime localTime) {
  31.             if(localTime < DateTimeUtil.MinValuePlusOneDay) {
  32.                 return DateTime.MinValue;
  33.             }
  34.             if(localTime > DateTimeUtil.MaxValueMinusOneDay) {
  35.                 return DateTime.MaxValue;
  36.             }
  37.             return localTime.ToUniversalTime();
  38.         }
  39.  
  40.         internal static DateTime FromFileTimeToUtc(long filetime) {
  41.             long num = filetime + 504911232000000000L;
  42.             return new DateTime(num,DateTimeKind.Utc);
  43.         }
  44.     }
  45.  
  46. }
Advertisement
Add Comment
Please, Sign In to add comment