我以自己的方式尝试过,想知道我在哪里出错,并且想知道如何将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
答案 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