3

是否可以在 .NET 中将系统时间设置为正确的服务器时间?我有一个弄乱系统时间的测试用例,我想在测试用例的拆解中恢复它。是否可以以编程方式恢复正确的时间(例如从服务器)?

注意:单元测试和验收测试都需要这个。注入假时间不适用于后者。

4

2 回答 2

3

这是设置时间(一旦你知道了):

以编程方式更改系统日期

如果您的意思是从有效来源获取时间,那么本讨论中的答案可能会对您有所帮助: How to Query an NTP Server using C#?

于 2012-11-29T10:43:28.517 回答
2
 void setDate(string dateInYourSystemFormat)
    {
        var proc = new System.Diagnostics.ProcessStartInfo();
        proc.UseShellExecute = true;
        proc.WorkingDirectory = @"C:\Windows\System32";
        proc.CreateNoWindow = true;
        proc.FileName = @"C:\Windows\System32\cmd.exe";
        proc.Verb = "runas";
        proc.Arguments = "/C date " + dateInYourSystemFormat;
        try
        {
            System.Diagnostics.Process.Start(proc);
        }
        catch
        {
            MessageBox.Show("Error to change time of your system");
            Application.ExitThread();
        }
    }
void setTime(string timeInYourSystemFormat)
    {
        var proc = new System.Diagnostics.ProcessStartInfo();
        proc.UseShellExecute = true;
        proc.WorkingDirectory = @"C:\Windows\System32";
        proc.CreateNoWindow = true;
        proc.FileName = @"C:\Windows\System32\cmd.exe";
        proc.Verb = "runas";
        proc.Arguments = "/C time " + timeInYourSystemFormat;
        try
        {
            System.Diagnostics.Process.Start(proc);
        }
        catch
        {
            MessageBox.Show("Error to change time of your system");
            Application.ExitThread();
        }
    }
于 2015-08-12T14:16:10.737 回答