Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 查找程序的正常运行时间,但以分钟为单位显示_C# - Fatal编程技术网

C# 查找程序的正常运行时间,但以分钟为单位显示

C# 查找程序的正常运行时间,但以分钟为单位显示,c#,C#,所以我运行了一些类型的游戏,我想添加一个命令!正常运行时间,显示服务器自上次打开以来运行的时间 此代码(来自microsoft网站)显示滴答数并正确显示 int result = Environment.TickCount & Int32.MaxValue; player.SendMessage("Result: " + result); 但我希望能够在几分钟内显示它已运行了多长时间。来自: 一个32位有符号整数,包含以毫秒为单位的时间量 自从上次启动计

所以我运行了一些类型的游戏,我想添加一个命令!正常运行时间,显示服务器自上次打开以来运行的时间

此代码(来自microsoft网站)显示滴答数并正确显示

        int result = Environment.TickCount & Int32.MaxValue;
        player.SendMessage("Result: " + result);
但我希望能够在几分钟内显示它已运行了多长时间。

来自:

一个32位有符号整数,包含以毫秒为单位的时间量 自从上次启动计算机以来,这种情况已经过去了

所以除以1000得到秒,再除以60得到分钟

请注意,它只有32位,因此每隔几周就会循环一次。

从中,我们可以看到
环境。TickCount

获取自系统启动以来经过的毫秒数

然后可以将其转换为分钟,如下所示:

var minutes = (Environment.TickCount - serverStartTickCount) / 60000; // 1000 ms/s * 60 s/m

<强>备选>,您可能需要考虑存储<代码> DATETIME。当服务器启动时,现在。假设您的类名为

程序
,您可以将其添加到该类中:

public static readonly DateTime ServerStartTime = DateTime.Now;
然后在运行命令时执行此操作:

var uptime = DateTime.Now - Program.ServerStartTime;
var minutes = uptime.TotalMinutes;

正如@Carlos所指出的那样,这将允许您在
环境下获得准确的正常运行时间。TickCount
每隔几周滚动一次。

使用
时间跨度

TimeSpan uptime = TimeSpan.FromMilliseconds(Environment.TickCount);
double totalMinutes = uptime.TotalMinutes;

关于滴答声,可能的重复与此类似,但我希望它在几分钟内显示出来@POX在我使用它的第一分钟,它显示“7891”,然后在我使用它的第二分钟,它显示“7892”。@C126您在寻找操作系统或游戏服务器的正常运行时间吗?我假设是后者——我已经相应地编写了代码。=)我认为这对我来说是个问题,我认为它显示了我的计算机的正常运行时间或者其他一些Idk lol,如果一个程序在另一台计算机上运行,有没有办法找出该程序运行了多长时间?比如vps,因为这是我用来主持游戏的@Roujo@C126如果你可以修改这个程序,那么你可以看看我文章的第二部分:让它在启动时存储当前的日期和时间,然后用它来响应!正常运行时间命令。=)好的,我如何在servers program.cs中创建变量
var start=DateTime.Now
,然后在command.cs中使用它,这样我就可以执行
var uptime=DateTime.Now-start;SendMessage(“服务器正常运行时间:+Uptime.ToString())或者我应该对此提出新的问题。下面的人评论了按照你所说做的代码,我再次评论“在它启动并使用的第一分钟,它显示为“7891”,然后在我使用它的第二分钟,它显示为“7892”。“我不知道为什么。而且这个游戏不是很受欢迎,它每天都会重新启动,所以我不介意循环。