C# 如何将字符串格式化为hh:mm:ss?
我想用C语言制作一个数字时钟。我有3个计数器对象,分别为小时、分钟和秒。它的格式必须是C# 如何将字符串格式化为hh:mm:ss?,c#,C#,我想用C语言制作一个数字时钟。我有3个计数器对象,分别为小时、分钟和秒。它的格式必须是hh:mm:ss 我所做的 String hours = _hours.Value.ToString(); String minutes = _minutes.Value.ToString(); String seconds = _seconds.Value.ToString(); if (hours.Length == 1) { hours = "0" + hours; } if (minute
hh:mm:ss
我所做的
String hours = _hours.Value.ToString();
String minutes = _minutes.Value.ToString();
String seconds = _seconds.Value.ToString();
if (hours.Length == 1)
{
hours = "0" + hours;
}
if (minutes.Length == 1)
{
minutes = "0" + minutes;
}
if (seconds.Length == 1)
{
seconds = "0" + seconds;
}
return hours + ":" + minutes + ":" + seconds;
它可以工作,但我正在尝试一种更有效的方法,使用String.format。我尝试过几种不同的正则表达式,但都没有成功
string b = string.Format("{0:D2}:{1:00}:{2:d2}", hours, minutes, seconds);
干杯IMO如果你已经有了一个
字符串
类型,那么将其转换为int
或DateTime
之后再将其字符串化是没有用的
我将使用以下方法:
PadLeft
将使字符串的长度始终至少为作为第一个参数传递的值的长度(2
,在本例中),并用在第二个参数传递的值(0
)填充“空”位置
在尝试
字符串格式之前,是否尝试将字符串转换为int?像下面这样
string.Format("{0:00}:{1:00}:{2:00}",
int.Parse(hours), int.Parse(minutes), int.Parse(seconds));
如果\u hours.Value
、\u minutes.Value
和\u seconds.Value
是数字类型,则可以使用以下更有效的代码
string.Format("{0:00}:{1:00}:{2:00}",
_hours.Value, _minutes.Value, _seconds.Value);
您可以尝试使用:
string b = DateTime.Now.ToString("HH:mm:ss");
你可以尝试一些不同的东西:
DateTime dt = new DateTime(2000, 1, 1, hours, minutes, seconds); // just ignore year, month and day
var x = dt.ToString("HH:mm:ss");
您可以使用DateTime
的ToString()
方法上提供的格式选项,如下所示:
(new DateTime(1900, 1, 1, _hours.Value, _minutes.Value, _seconds.Value)).ToString("HH:mm:ss");
如果您有一些日期变量,则可以执行以下操作:
string b = dateVar.ToString("HH:mm:ss");
如果您希望解决方案完全适用于您的示例,则:
return string.Format("{0:00}:{1:00}:{2:00}",
int.Parse(hours),
int.Parse(minutes),
int.Parse(seconds)
);
\u小时
、\u分钟
和\u秒
的类型是什么?它们是一个对象类。我做了一个计数器。你为什么有“三个计数器对象”?你不应该。DateTime有你所需要的一切。只需在你喜欢的时间间隔内用当前日期时间更新你的视图……这是一个学校项目。只是学习如何使用对象类。现在开始工作了。谢谢
return string.Format("{0:00}:{1:00}:{2:00}",
int.Parse(hours),
int.Parse(minutes),
int.Parse(seconds)
);