数码时钟 -

时间:2011-05-08 05:13:53

标签: c# wpf

我想显示一个数字时钟。这就是我必须在24小时格式的文本块中显示时间,我不知道如何转换为12小时。

DispatcherTimer timerdigital;

    public MainWindow()
    {
        this.InitializeComponent();
        //StartTimer(null, null);

        timerdigital = new DispatcherTimer();
        timerdigital.Interval = TimeSpan.FromSeconds(1.0);
        timerdigital.Start();
        timerdigital.Tick += new EventHandler(delegate(object s, EventArgs a)
        {
            tbDigital.Text = "" + DateTime.Now.Hour + ":"
          + DateTime.Now.Minute + ":"
          + DateTime.Now.Second;


        });

谢谢

2 个答案:

答案 0 :(得分:1)

不了解类似数字的显示器,但是从24小时切换到12小时制,最简单的方法是使用DateTime字符串格式化:

timerdigital.Tick += new EventHandler(delegate(object s, EventArgs a)
        {
            tbDigital.Text = DateTime.Now.ToString("hh:mm:ss tt");
        });

此处hh是12小时格式的小时,mm是分钟,ss是秒,tt是AM / PM标记。

详细了解日期和时间格式字符串here

答案 1 :(得分:0)

这是一个很好用的wpf源代码:
http://www.codeproject.com/KB/WPF/digitalclock.aspx
关于12/24小时格式:

 int smallhour = (Hour > 12) ? Hour - 12 : Hour;