如何为comboBox分隔时间部分

时间:2011-10-17 22:20:04

标签: c# database string datetime

C#问题...我正在从数据库接收日期时间类型1/1/1900 08:00:00 AM,我想只占用时间部分并用HH MM(AM或PM)填充三个组合框。我必须对我得到的两组不同的数据做同样的事情......不知道怎么做......

有人可以帮忙吗?

这就是我现在得到的......我是新手:0)

    DateTime bh = Convert.ToDateTime(puf.GetResults["Begin_Hour"].ToString());
    DateTime eh = Convert.ToDateTime(puf.GetResults["End_Hour"].ToString());
    string bhs=bh.ToShortTimeString();
    string ehs=eh.ToShortTimeString();

3 个答案:

答案 0 :(得分:0)

你应该做些什么才能得到时间。

您可以使用具有重载的ToString()方法,您可以在其中提供自定义格式。请参阅此MSDN link

因此,您可以使用bhs.ToString("t");打印小时,分钟和上午/下午。

答案 1 :(得分:0)

使用此(dt是您的DateTime对象)

bhs.Format("{0:t}", dt);

结果将采用您想要的格式:  “下午4:05”

您可以在此处阅读更多内容:String Format for DateTime

答案 2 :(得分:0)

如果您正在使用对象/数据表,那么将DisplayMember / ValueMember属性与FormatString属性一起设置可能是一个不错的选择。设置FormattingEnabled = trueFormatString = "t"DisplayMember = ValueMember = "[Begin_Hour|End_Hour]"

请注意,[|]语法是从Regex借用的,这意味着任何值都可以使用。然后只需将基础数据源分配给ComboBox.DataSource属性。处理UI元素上的显示/格式化并保持数据元素不变通常是个好主意,这就是许多控件提供这些各种数据显示属性的原因。