Изменение системного времени - C#
Формулировка задачи:
Всем привет , есть лабораторная работа
"Составить описание класса для представления времени. Предусмотреть возможности установки времени и изменения его отдельных полей (час, минута, секунда) с проверкой допустимости вводимых значений. В случае недопустимых значений полей выбрасываются исключения. Создать методы изменения времен на заданное количество часов, минут и секунд.
Написать программу, демонстрирующую все разработанные элементы класса."
Не могу найти как изменить системное время на c#, был один полурабочий код , который изменял время но всегда на одно и то же, не важно что вводилось.
вот он
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Runtime.InteropServices; namespace ConsoleApplication8 { class Program { [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; } [DllImport("kernel32.dll", SetLastError = true)] public static extern bool SetSystemTime(ref SYSTEMTIME time); [DllImport("kernel32.dll", SetLastError = true)] public static extern bool GetSystemTime(ref SYSTEMTIME time); static void Main(string[] args) { SYSTEMTIME st = new SYSTEMTIME(); st.wYear = 2013; st.wMonth = 8; st.wDay = 22; st.wHour = 23; st.wMinute = 0; st.wSecond = 0; SetSystemTime(ref st); Console.ReadKey(); } } }
Решение задачи: «Изменение системного времени»
textual
Листинг программы
using System; using System.IO; using System.Text; using System.Runtime.InteropServices; namespace ex { class myclass { private struct SYSTEMTIME { public short Year; public short Month; public short DayOfWeek; public short Day; public short Hour; public short Minute; public short Second; public short Milliseconds; } [DllImport("kernel32.dll", SetLastError = true)] private static extern bool SetSystemTime([In] ref SYSTEMTIME st); static void Main() { DateTime tmp=DateTime.Now; DateTime idag = tmp.AddHours(1).AddMinutes(2).ToUniversalTime().AddYears(3); SYSTEMTIME s = new SYSTEMTIME(); s.Year = (short)idag.Year; s.Month = (short)idag.Month; s.DayOfWeek = (short)idag.DayOfWeek; s.Day = (short)idag.Day; s.Hour = (short)idag.Hour; s.Minute = (short)idag.Minute; s.Second = (short)idag.Second; s.Milliseconds = (short)idag.Millisecond; SetSystemTime(ref s); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д