如标题所示。我写了一个简单的计时器,它设定时间和日期。时间很好,但日期不是。 它显示了一年和一天,但不是一个月。为什么?
我的代码:
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
你能帮我解决这个问题吗?
答案 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");