c#如何修改计算机时间日期和格式?利用WindowAPI函数可以做到

作者:袖梨 2022-06-25

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

相关文章

精彩推荐