这是 Form1 中的代码:
private DateTime dt;
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
internal static extern bool SetLocalTime(ref SYSTEMTIME lpSystemTime);
[StructLayout(LayoutKind.Sequential)]
internal struct SYSTEMTIME
{
public ushort wYear;
public ushort wMonth;
public ushort wDayOfWeek; // ignored for the SetLocalTime function
public ushort wDay;
public ushort wHour;
public ushort wMinute;
public ushort wSecond;
public ushort wMilliseconds;
}
private NotifyIcon notifyIcon1;
public Form1()
{
InitializeComponent();
notifyIcon1 = new NotifyIcon();
SetBalloonTip();
dt = GetNetworkTime();
SYSTEMTIME time = new SYSTEMTIME();
time.wDay = 1;
time.wMonth = 5;
time.wYear = 2011;
time.wHour = 12;
time.wMinute = 15;
if (!SetLocalTime(ref time))
{
// The native function call failed, so throw an exception
throw new Win32Exception(Marshal.GetLastWin32Error());
}
}
GetNetworkTime() 返回当前实时时间。 例如,我想做的是占用 dt 时间并在另一天添加它。
time.wDay = 1;
time.wMonth = 5;
time.wYear = 2011;
time.wHour = 12;
time.wMinute = 15;
所以最终变量 time 将返回我第二天的日期和时间,而不是 5/1/2011 12:15 PM
例如,如果现在时间和日期是:9/27/2013 3:39PM 所以现在我希望它是 9/28/2013 4:39PM
每次都在当前时间上增加一天和一个小时!
然后我想等5分钟,让时间自动重置回原来的时间。
稍后我将使用一个按钮单击事件,使其每次单击时将当前时间增加一天一小时,然后计时器等待 5 分钟并将其重置回原始时间。
我该怎么做?我需要以某种方式解析 dt 变量并将其添加到一天和一个小时并使用 SYSTEMTIME 将其设置为当前日期和时间然后再次获取当前日期和时间解析它并在 5 分钟后设置它。
最佳答案
dt = GetNetworkTime().AddDays(1);
关于c# - 我如何将更多时间添加到 datetime.now 解析它然后重置回原始 datetime.now?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19051080/