c# - 我如何将更多时间添加到 datetime.now 解析它然后重置回原始 datetime.now?

标签 c# .net winforms

这是 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/

相关文章:

c# - 数据绑定(bind)期间不绑定(bind)继承的属性

c# - 在 C# 中编译并执行外部代码

c# - 我想要 "(int)null"返回我 0

c# - 如何将 C# Winform 中另一个类的文本附加到 richTextBox?

c# - 在 UWP 中设置密码框的对齐方式

c# - 在 .NET 2.0 上消除文本锯齿的更好方法吗?

c# - 拖动时 TreeView 自动滚动

c# - 让 Windows Store Sockets 与 Netcat 聊天?

c# - EntityFramework Core 1.1.1 - 用新值和覆盖值替换旧集合

.net - 仅当尚未安装 .NET Framework 时,如何安装它?