Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Установить время Windows


Автор: ДобренькийПапаша 27.4.2011, 10:54
Как программно изменить текущее время Windows?

Автор: 500mhz 27.4.2011, 12:23
GetLocalTime

Автор: ДобренькийПапаша 27.4.2011, 13:05
Вот так решил.
Код

{
        {
            ...
            DateTime dt = (DateTime)cmd.Parameters["@CurrentDateTime"].Value;

            SYSTEMTIME st = new SYSTEMTIME();
            st.wDay = dt.Day;           
            st.wHour = dt.Hour;
            st.wMilliseconds = dt.Millisecond;
            st.wMinute = dt.Minute;
            st.wMonth = dt.Month;
            st.wSecond = dt.Second;
            st.wYear = dt.Year;

            SYSTEMTIME.SetSystemTime(st); //установка системного времени

            Console.ReadLine();            
        }
    }
  
    [StructLayout(LayoutKind.Sequential)]
    class SYSTEMTIME
    {
        public int wYear;
        public int wMonth;
        public int wDayOfWeek;
        public int wDay;
        public int wHour;
        public int wMinute;
        public int wSecond;
        public int wMilliseconds;
        [DllImport("kernel32.dll", SetLastError = true)]
        public static extern bool SetSystemTime([MarshalAs(UnmanagedType.LPStruct)] SYSTEMTIME lpSystemTime);
    }

Автор: mrbrooks 27.4.2011, 13:06
Цитата(500mhz @  27.4.2011,  12:23 Найти цитируемый пост)
GetLocalTime 

Жжошь  smile

Добавлено через 4 минуты и 16 секунд
Цитата(ДобренькийПапаша @  27.4.2011,  13:05 Найти цитируемый пост)
Вот так решил.

конечно можно и так. Но более гибкий функционал лежит все же в функции SetTimeZoneInformation.

Автор: ДобренькийПапаша 27.4.2011, 13:12
Надо было синхронизировать время с сервером. Кусок кода привёл выше. Всем спасибо, кроме 500mhz smile

Автор: mrbrooks 27.4.2011, 13:13
Цитата(ДобренькийПапаша @  27.4.2011,  13:12 Найти цитируемый пост)
Надо было синхронизировать время с сервером.

для этого же есть NTP/SNTP клиент!

Автор: ДобренькийПапаша 27.4.2011, 14:55
Да такое тестовое задание было с вызовом хранимки на сервере обязательно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)