【问题标题】:How to separate Time portions for comboBox如何分隔组合框的时间部分
【发布时间】:2011-10-17 22:20:03
【问题描述】:

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();

【问题讨论】:

  • 你在哪里遇到麻烦?任何异常消息?

标签: c# database string datetime


【解决方案1】:

你应该好好工作才能有时间。

您可以使用 ToString() 方法,它有一个重载,您可以在其中提供自定义格式。参考这个MSDN link

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

【讨论】:

    【解决方案2】:

    使用这个(dt 是你的 DateTime 对象)

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

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

    您可以在这里阅读更多内容:String Format for DateTime

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-11-09
        • 2021-02-27
        • 2011-12-20
        • 2011-02-24
        • 2016-01-14
        • 2022-01-14
        • 1970-01-01
        相关资源
        最近更新 更多