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;
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM