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

时间:2015-10-02 13:31:53

标签: c# integer timespan

我正在编写一个程序,您需要在几分钟内输入您骑自行车的时间,然后显示您在几小时内骑行的时间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();
        }

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

只需要进行一些小调整:

//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而不是准备好的字符串打印输出的小语法缺陷。