将用户的24小时输入转换为12h

时间:2014-04-16 15:15:18

标签: c# datetime

因此,出于某种原因,这会出现一条错误消息,指出方法' ParseExact'没有超载。需要1个参数'。有谁知道我做错了什么?

 static void runTimeConverter()
{   
 double arrivalTime;
 arrivalTime = getArrivalTime();
 string time = DateTime.ParseExact(arrivalTime).ToString("HH:mm tt");
 Console.WriteLine("Equals " + time);
}

 static double getArrivalTime()

    {
        Console.WriteLine
            ("Enter time in 24 hour format to convert to 12hour");
        string timeSelected = Console.ReadLine();
        int timeInput = int.Parse(timeSelected);
        return timeInput;
    }

2 个答案:

答案 0 :(得分:5)

  

因此,出于某种原因,这会出现一条错误消息,指出“没有超载   method'ParseExact'需要1个参数'。有谁知道我做了什么   错?

是。你不能阅读或拒绝处理编译器显示的错误信息 - 这在错误中非常准确。

你的代码:

  

DateTime.ParseExact(arrivalTime)

这是一个论点。编译器说这是错误的。

如果您查看文档:

http://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx

它显示他的方法为:

public static DateTime ParseExact(
    string s,
    string format,
    IFormatProvider provider
)

这是3个论点。你只给一个。没有变得更明显。修复你的代码。

答案 1 :(得分:0)

因为ParseExact需要确切的格式来解析给定字符串作为日期,而您没有提供。