Time 秒转换器

Time 秒转换器,time,int,Time,Int,设法创建一个程序,将总秒数转换为相应的时、分、秒数。我有一个问题,虽然我不希望该程序也能够显示的时间,分钟等总量秒低于3660,这似乎是不可能的。有没有IDE可以帮助解决这个问题?问题出在取模的行中(操作符%)。您需要删除所有整小时后剩余的秒数,即总秒数%3600。如果您的代码低于3600秒,则将尝试执行总计\u秒%0,即除以零。请尝试以下操作: Console.Write("Type in the number of seconds: "); int total

设法创建一个程序,将总秒数转换为相应的时、分、秒数。我有一个问题,虽然我不希望该程序也能够显示的时间,分钟等总量秒低于3660,这似乎是不可能的。有没有IDE可以帮助解决这个问题?

问题出在取模的行中(操作符
%
)。您需要删除所有整小时后剩余的秒数,即
总秒数%3600
。如果您的代码低于3600秒,则将尝试执行
总计\u秒%0
,即除以零。请尝试以下操作:

        Console.Write("Type in the number of seconds: ");
        int total_seconds = Convert.ToInt32(Console.ReadLine());

        int hours = total_seconds / 3600;
        total_seconds = total_seconds % (hours * 3600);
        int minutes = total_seconds / 60;
        total_seconds = total_seconds % (minutes * 60);
        int seconds = total_seconds;
        Console.WriteLine("Number of hours: " + hours + " hours" + "\nNumber of minutes: " + minutes + " minutes" + "\nNumber of seconds: " + seconds + " seconds");
        Console.ReadLine();

问题在于取模的行中(
%
运算符)。您需要删除所有整小时后剩余的秒数,即
总秒数%3600
。如果您的代码低于3600秒,则将尝试执行
总计\u秒%0
,即除以零。请尝试以下操作:

        Console.Write("Type in the number of seconds: ");
        int total_seconds = Convert.ToInt32(Console.ReadLine());

        int hours = total_seconds / 3600;
        total_seconds = total_seconds % (hours * 3600);
        int minutes = total_seconds / 60;
        total_seconds = total_seconds % (minutes * 60);
        int seconds = total_seconds;
        Console.WriteLine("Number of hours: " + hours + " hours" + "\nNumber of minutes: " + minutes + " minutes" + "\nNumber of seconds: " + seconds + " seconds");
        Console.ReadLine();
编辑
Chowlett的回答更加优雅——使用他的代码

这似乎对我有效(通过
if
语句,我确保在
hours
我们的
minutes
为零的情况下,我不会被零除掉:

int hours = total_seconds / 3600;
total_seconds = total_seconds % 3600;
int minutes = total_seconds / 60;
total_seconds = total_seconds % 60;
int seconds = total_seconds;
编辑
Chowlett的回答更加优雅——使用他的代码

这似乎对我有效(通过
if
语句,我确保在
hours
我们的
minutes
为零的情况下,我不会被零除掉:

int hours = total_seconds / 3600;
total_seconds = total_seconds % 3600;
int minutes = total_seconds / 60;
total_seconds = total_seconds % 60;
int seconds = total_seconds;

这是什么语言?你应该为这种语言添加一个标签。我不确定问题是否清楚:你的意思是你想将一个数字转换为小时、分钟和秒,但例如,66表示1分6秒,还是3666表示1小时、61分、3666秒?我是这个网站的新手,但我会记得在这个网站上添加了一个laungauge标签我未来的问题。这段代码是C#。这是什么语言?你应该为这种语言添加一个标记。我不确定问题是否清楚:你的意思是你想把一个数字转换成小时、分钟和秒,但例如,66表示1分6秒,还是3666表示1小时、61分、3666秒?我是新来的是站点,但我会记得在我以后的问题中添加一个laungauge标记。这段代码是C#。@user1696992-无需担心。欢迎使用堆栈溢出!您也可以通过单击旁边的绿色复选标记“接受”此答案为正确。@user1696992-无需担心。欢迎使用堆栈溢出!您也可以“接受”单击答案旁边的绿色复选标记,确认答案正确。