c#利用WindowAPI函数修改计算机日期时间和格式,代码片段如下,有需要的朋友拿去吧。
代码如下 | 复制代码 |
Public Class SetComputerDateTime { [DllImport("kernel32.dll", EntryPoint = "GetSystemDefaultLCID")] public static extern int GetSystemDefaultLCID(); [DllImport("kernel32.dll", EntryPoint = "SetLocaleInfoA")] public static extern int SetLocaleInfo(int Locale, int LCType, string lpLCData); public const int LOCALE_SLONGDATE = 0x20; public const int LOCALE_SSHORTDATE = 0x1F; public const int LOCALE_STIME = 0x1E; [DllImportAttribute("Kernel32.dll")] public static extern void SetLocalTime(SystemTime st); public ushort wYear; public ushort wMonth; public ushort wDayOfWeek; public ushort wDay; public ushort wHour; public ushort wMinute; public ushort wSecond; public ushort wMilliseconds; public SetComputerDateTimeFormat() { } public void SetDateTimeFormat() { try { int x = GetSystemDefaultLCID(); SetLocaleInfo(x, LOCALE_SSHORTDATE, "yyyy/MM/dd"); //短日期格式 SetLocaleInfo(x, LOCALE_SLONGDATE, "yyyy年MM月dd日"); //长日期格式 SetLocaleInfo(x, LOCALE_STIME, "HH:mm:ss tt"); //时间格式 } catch (Exception ex) { Console.WriteLine(ex); } } public void SetDateTime(DateTime dateTime) { try { SystemTime mySystemTime = new SystemTime(); mySystemTime .wYear = (ushort)systemDateTime.Year;//年 mySystemTime .wMonth = (ushort)systemDateTime.Month;//月 mySystemTime .wDay = (ushort)systemDateTime.Day;//日 mySystemTime .wHour = (ushort)systemDateTime.Hour;//时 mySystemTime .wMinute = (ushort)systemDateTime.Minute;//分 mySystemTime .wSecond = (ushort)systemDateTime.Second;//秒 SetLocalTime(mySystemTime ); } catch (Exception ex) { Console.WriteLine(ex); } } } [StructLayoutAttribute(LayoutKind.Sequential)] public class SystemTime { public ushort wYear; public ushort wMonth; public ushort wDayOfWeek; public ushort wDay; public ushort wHour; public ushort wMinute; public ushort wSecond; public ushort wMilliseconds; } |