将int变量值转换为c#中的char数组值?

时间:2018-10-11 16:54:13

标签: c# .net

我以自己的方式尝试过,想知道我在哪里出错,并且想知道如何将int变量值替换为char数组的索引之一?

string time = "07:05:45PM";
string result = string.Empty;
char[] time_Char = time.ToCharArray();
int first_Char = (int)Char.GetNumericValue(time_Char[0]) + 1;
int second_Char = (int)Char.GetNumericValue(time_Char[1]) + 2;

time_Char[0] = Convert.ToChar(first_Char);
time_Char[1] = Convert.ToChar(second_Char);

for (int i = 0; i < time_Char.Length; i++)
{
 result += time_Char[i];
}

Console.WriteLine(result);

输出-        :05:45PM

预期输出- 19:05:45 PM

1 个答案:

答案 0 :(得分:1)

您只是想将12小时变成24小时吗?您的问题还不是很清楚,因为显然AM/PM在您处理24小时时是无关紧要的。

但是,如果这是您要尝试的方法,则可以使用方式更简单的方法。您应该只将输入字符串解析为新的DateTime对象,然后可以在调用.ToString()时使用custom formatting输出该日期/时间:

string time = "07:05:45PM";

DateTime output;
if(DateTime.TryParse(time, out output))
{
    Console.WriteLine(output.ToString("HH:mm:sstt"));
}

这将输出:19:05:45PM

提琴here