C# 如何将用户输入的整数显示为时间

C# How to display an integer entered by the user as time

我正在编写一个程序,您需要以分钟为单位输入您骑自行车的时间,然后它会显示您骑自行车的时间(以小时为单位)hh:mm 因此,例如,如果用户在 88 分钟内写作,它应该显示 1:28

我已经找了几个小时了,但找不到如何去做,可能对我完全是编码新手没有帮助:)

 //input data
            Console.Write("Number of Minutes spent Cycling...");
            int cycling = int.Parse(Console.ReadLine());
//perform calculations

            TimeSpan cTime = TimeSpan.FromHours(cycling);
            string fromTimeString = cTime.ToString("hh':'mm");
//output results
            Console.WriteLine("cycling {0}", cTime);

            Console.ReadLine();
        }

这只是我尝试过的众多方法之一,感谢您的帮助:)

您正在提示用户输入以分钟为单位的时间,然后您尝试将其解析为小时。你应该使用 TimeSpan.FromMinutes(cycling).

只需进行一些小调整:

//input data
        Console.Write("Number of Minutes spent Cycling...");
        int cycling = int.Parse(Console.ReadLine());
//perform calculations

        TimeSpan cTime = TimeSpan.FromMinutes(cycling);
        string fromTimeString = cTime.ToString("h\:mm");
//output results
        Console.WriteLine("cycling {0}", fromTimeString);

        Console.ReadLine();

所以基本上将 fromHours 更改为 fromMinutes 以适应您的输入并根据此文档修复您的格式字符串:https://msdn.microsoft.com/en-us/library/ee372287(v=vs.110).aspx 我将 hh:mm 更改为 h:mm,因为您可能不想在小时内使用前导零。

当然还有您确实使用 cTime 而不是您准备好的字符串的打印输出的小语法缺陷。