【发布时间】:2020-01-09 07:18:03
【问题描述】:
我无法将文本(Maskedtextbox)转换为Datetime。
例如,我有这些戴面具的时间:16:30、6:30
我想显示在第三个蒙面10:00
这是我的代码:我写了一个方法
我有一个错误:timespan t 错误是:输入字符串的格式不正确
Public void A (MaskedTextBox k, MaskedTextBox k1, MaskedTextBox k2, Label k3) { string[] houre = k.Text.Split(':'); 尝试 { int h = int.Parse (houre[0].ToString(); int m = int.Parse (houre[1].ToString();
if (h > 23)
{
MessageBox.Show("wrong hour");
k.Text = "00:" + houre[1].ToString();
}
if (m > 59)
{
MessageBox.Show("wrong minute");
k.Text = houre[0].ToString() + ":00";
}
if (h > 23 && m > 59)
k.Text = "00:00";
}
catch (Exception)
{
}
string[] houre1 = k1.Text.Split(':');
try
{
int h1 = int.Parse(houre1[0].ToString());
int m1 = int.Parse(houre1[1].ToString());
if (h1 > 23)
{
MessageBox.Show("wrong hour");
k1.Text = "00:" + houre1[1].ToString();
}
if (m1 > 59)
{
MessageBox.Show("wrong minute");
k1.Text = houre1[0].ToString() + ":00";
}
if (h1 > 23 && m1 > 59)
k1.Text = "00:00";
}
catch (Exception)
{
}
TimeSpan t = TimeSpan.ParseExact(k.Text.Trim(':'), "hh:mm",null );
TimeSpan t1 = TimeSpan.ParseExact(k1.Text, "hh:mm", CultureInfo.InvariantCulture);
k2.Text = (t1 - t).ToString("hh:mm", CultureInfo.InvariantCulture);
if (k.Text != "" && k1.Text != "")
k3.Text = "IN OUT Complete";
else
k3.Text = "IN OUT Noncomplete";
【问题讨论】:
-
你能展示你的代码吗?
-
尝试
Timespan而不是DateTime,假设两个时间都在同一天 -
您是否总是想显示一个正数,或者一次被认为是“第一”而另一个应该被减去,即使它是一个更大的数字?