该应用程序是一个事件调度程序,因此用户应该在Textbox
中设置一个时间,并提交应该从string
转换为time format
这是代码的一部分
public void btn_click()
{
var Time = textbox.text;
**convert string to time format
Leaps.save(xname, xdate, xtime, xprt);
}
答案 0 :(得分:1)
您可以使用值转换器轻松获得所需的结果。它们允许您在实际呈现之前修改文本框中显示的任何内容。因此,如果任何人进入'1350am',您可以进行一些字符串分析并根据文本框的输入返回'13:50 am'。我向你保证,这比听起来更容易。这些链接可以帮助您:
http://msdn.microsoft.com/en-us/library/bb546926%28v=vs.90%29.aspx
答案 1 :(得分:1)
您可以使用DateTime.ParseExact
和DateTime.ToString
:
DateTime timeOfDay = DateTime.ParseExact("1200am", "hhmmtt", CultureInfo.InvariantCulture);
string result = timeOfDay.ToString("hh:mm tt", CultureInfo.InvariantCulture);
我正在使用InvariantCulture
来防止文化问题。
您可以使用DateTime.TryParseExact
验证用户输入:
DateTime timeOfDay;
if(DateTime.TryParseExact("1200am", "hhmmtt", CultureInfo.InvariantCulture, DateTimeStyles.None, out timeOfDay))
{
// valid format, timeOfDay is initialized
}