将字符串转换为时间格式

时间:2014-01-07 14:32:09

标签: c#

该应用程序是一个事件调度程序,因此用户应该在Textbox中设置一个时间,并提交应该从string转换为time format

的时间

这是代码的一部分

public void btn_click()
{
    var Time = textbox.text;
    **convert string to time format
    Leaps.save(xname, xdate, xtime, xprt);
}

2 个答案:

答案 0 :(得分:1)

您可以使用值转换器轻松获得所需的结果。它们允许您在实际呈现之前修改文本框中显示的任何内容。因此,如果任何人进入'1350am',您可以进行一些字符串分析并根据文本框的输入返回'13:50 am'。我向你保证,这比听起来更容易。这些链接可以帮助您:

http://msdn.microsoft.com/en-us/library/bb546926%28v=vs.90%29.aspx

http://wpftutorial.net/ValueConverters.html

答案 1 :(得分:1)

您可以使用DateTime.ParseExactDateTime.ToString

DateTime timeOfDay = DateTime.ParseExact("1200am", "hhmmtt", CultureInfo.InvariantCulture);
string result = timeOfDay.ToString("hh:mm tt", CultureInfo.InvariantCulture);

我正在使用InvariantCulture来防止文化问题。

Demo

您可以使用DateTime.TryParseExact验证用户输入:

DateTime timeOfDay;
if(DateTime.TryParseExact("1200am", "hhmmtt", CultureInfo.InvariantCulture, DateTimeStyles.None, out timeOfDay))
{
    // valid format, timeOfDay is initialized
}