2026-06-05 13:44:39 +09:00

57 lines
1.6 KiB
C#

/*
* Copyright (c) 2022 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Controls;
namespace AuroraUIComponent.Util
{
public class SystemTimeUtil
{
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEMTIME
{
public ushort Year;
public ushort Month;
public ushort DayOfWeek;
public ushort Day;
public ushort Hour;
public ushort Minute;
public ushort Second;
public ushort Milliseconds;
}
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool SetSystemTime(ref SYSTEMTIME st);
public static int SetUTCTime(DateTime st)
{
SYSTEMTIME stTime = new SYSTEMTIME();
stTime.Year = (ushort)st.Year;
stTime.Month = (ushort)st.Month;
stTime.Day = (ushort)st.Day;
stTime.Hour = (ushort)st.Hour;
stTime.Minute = (ushort)st.Minute;
stTime.Second = (ushort)st.Second;
stTime.Milliseconds = 0;
SetSystemTime(ref stTime);
int errorCode = Marshal.GetLastWin32Error();
//throw new System.ComponentModel.Win32Exception(errorCode);
return errorCode;
}
public static int SetLocalTime(DateTime st)
{
return SetUTCTime(st.ToUniversalTime());
}
}
}