1. 程式人生 > 實用技巧 >C#DateTime.Now取得本地時間不對

C#DateTime.Now取得本地時間不對

替換方法

改用windowsAPI獲取

       [DllImport("kernel32.dll", EntryPoint = "GetSystemTime", SetLastError = true)]
        internal static extern void GetSystemTime(out SYSTEMTIME st);
        [DllImport("kernel32.dll", EntryPoint = "GetLocalTime", SetLastError = true)]
        internal static extern void
GetLocalTime(out SYSTEMTIME st); /// <summary> /// 獲取時間戳 /// </summary> /// <returns></returns> public static DateTime Now() { try { SYSTEMTIME time; TimeHelper.GetLocalTime(out time); DateTime now
= new DateTime(time.wYear, time.wMonth, time.wDay, time.wHour, time.wMinute, time.wSecond); return now; } catch { return DateTime.Now; } } [StructLayout(LayoutKind.Sequential)] public
struct SYSTEMTIME { public short wYear; public short wMonth; public short wDayOfWeek; public short wDay; public short wHour; public short wMinute; public short wSecond; public short wMilliseconds; }