在c#中将24小时转换为12小时(IFormatProvider故障)

在c#中将24小时转换为12小时(IFormatProvider故障),c#,C#,因此,下面的代码出现了名称“CultureInfo”在当前上下文中不存在,我尝试了其他iFormatProvider,但它们没有在Visual Studio中注册。我做错了什么 static void runTimeConverter() { double arrivalTime; arrivalTime = getArrivalTime(); string time = DateTime.ParseExact(arrivalTime, "HHmm", Cultur

因此,下面的代码出现了名称“CultureInfo”在当前上下文中不存在,我尝试了其他iFormatProvider,但它们没有在Visual Studio中注册。我做错了什么

   static void runTimeConverter()
 {   
  double arrivalTime;
  arrivalTime = getArrivalTime();  
  string time = DateTime.ParseExact(arrivalTime, "HHmm", CultureInfo.CurrentCulture)
   .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;
}

确保将其添加到文件的顶部:

using System.Globalization;

添加适当的用法,即
System.Globalization。我们在上一个问题中将文档链接到您,请阅读它。可能与现在的重复,它表示最佳重载匹配具有无效参数。我想这是到达时间的部分。如果是,我该如何转换用户的输入?现在它说最佳重载匹配具有无效参数。我想这是到达时间的部分。如果是,我如何转换用户的输入?您已经将用户的输入转换为double,然后尝试解析它。查看方法签名:DateTime.ParseExact(string,string,IFormatInfo)。应为字符串。只需使用用户从控制台输入的原始字符串值。我在使用用户输入的原始字符串值时遇到问题。我做了如下修改。字符串到达时间;arrivalTime=getArrivalTime()//对于主更改,静态字符串getArrivalTime(){Console.WriteLine(“您希望在什么时间以24小时格式到达目的地?”);字符串timeSelected=Console.ReadLine();return timeSelected;}您输入的确切内容,控制台输出/编译器错误是什么?更不用说输入错误了。。非常感谢你的帮助。