gpt4 book ai didi

c# - 如何在 C# 中连接整数和字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 18:56:34 25 4
gpt4 key购买 nike

我正在开发一个 Console 应用程序,用于将时间从 12 小时格式 转换为 24 小时格式:

input: 02:03:34PM expected output:14:03:34

但我得到 14:3:34下面是我的代码片段:

string[] arr_temp = Console.ReadLine().Split(':');

string time = arr_temp[2].ToUpper().Contains("AM") ? "AM" : "PM";

string sec=string.Empty;

for (int i = 0; i < 2; i++)
{
sec+= arr_temp[2][i];
}

int _hour = Int32.Parse(arr_temp[0])==0?0: Int32.Parse(arr_temp[0]);

int _minute = Int32.Parse(arr_temp[1]) == 0 ? 0 : Int32.Parse(arr_temp[1]);

int _sec = Int32.Parse(sec)==0?0: Int32.Parse(sec);

_hour = (time == "PM") ? _hour += 12 : _hour += 0;

_hour = (_hour < 10) ? '0' + _hour : _hour;

_minute = (_minute < 10) ? '0' + _minute : _minute;

_sec = (_sec < 10) ? '0' + _sec : _sec;

我没有得到预期的输出。请提出建议。

最佳答案

对我来说似乎有点复杂,因为有一种更简单的方法可以将您的 DateTime 变量显示为 12 小时或 24 小时格式。

首先,您必须将字符串转换为有效的 DateTime 对象。您可以使用多种解析方法,但您必须首先验证用户返回的输入字符串是否为有效日期。

使用以下代码将您的字符串转换为 DateTime:

string dateString = "03/01/2009 10:00 AM";
DateTime date = DateTime.Parse(dateString);
如果输入字符串的格式不正确,

DateTime.Parse 将抛出异常。为了确保不会发生这种情况,请改用 DateTime.TryParse

string dateString = "03/01/2009 10:00 AM";
DateTime dateTime;
if (DateTime.TryParse(dateString , out dateTime))
{
Console.WriteLine(dateTime);
}

然后您可以显示 DateTime 变量并按照您想要的方式对其进行格式化。

DateTime dateTime = DateTime.Now;
string str12Format = dateTime.ToString("hh:mm:ss tt"); //12 hours format
string str24Format = dateTime.ToString("HH:mm:ss tt"); //24 hours format

关于c# - 如何在 C# 中连接整数和字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43511645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com