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();
答案 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 = true
,FormatString = "t"
,DisplayMember = ValueMember = "[Begin_Hour|End_Hour]"
。
请注意,[|]语法是从Regex借用的,这意味着任何值都可以使用。然后只需将基础数据源分配给ComboBox.DataSource属性。处理UI元素上的显示/格式化并保持数据元素不变通常是个好主意,这就是许多控件提供这些各种数据显示属性的原因。