计时器不显示一个月

时间:2013-01-20 10:34:59

标签: c# winforms timer

如标题所示。我写了一个简单的计时器,它设定时间和日期。时间很好,但日期不是。 它显示了一年和一天,但不是一个月。为什么?

我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication_timer
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            int h = DateTime.Now.Hour;
            int m = DateTime.Now.Minute;
            int s = DateTime.Now.Minute;

            int d = DateTime.Now.Day;
            int y = DateTime.Now.Year;
            int t = DateTime.Now.Month;

            label2.Text = DateTime.Now.ToString("dd/tt/yy");

            label1.Text = DateTime.Now.ToString("hh:mm:ss");

        }

        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Start();
        }

        private void label2_Click(object sender, EventArgs e)
        {

        }
    }
}

此代码的结果:

time eg : 11:34:23
date eg : 20--2013

结果必须更改为:

time eg : 11:34:23
date eg : 20/01/2013

你能帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:2)

您应该使用dd/MM/yy而不是dd/tt/yy

有关详细信息,请参阅Custom Date and Time Format Strings

我还可以看到你有以下一行:

int s = DateTime.Now.Minute;

我认为你的意思是:

int s = DateTime.Now.Second;

编辑:

事实上,我看不出为什么在本地变量中保存日期/时间的任何部分没有任何理由,因为它们没有被使用。

答案 1 :(得分:1)

您的DateTime格式错误。尝试使用dd/MM/yy这样的格式;

label2.Text = DateTime.Now.ToString("dd/MM/yy");

查看Custom Date and Time Format Strings以获取更多日期和时间格式信息。

这是DEMO

答案 2 :(得分:0)

label2.Text = DateTime.Now.ToString("dd/MM/yyyy");