C#使用DateTime打卡打卡。现在
我曾尝试在用户单击“打卡入”和“打卡出”时创建一个简单的时间计算器。我已经使用DateTime.Now为每个创建了变量,以捕获用户输入和输出的实际时间。我还为打孔创建了一个按钮,为打孔创建了一个单独的按钮。出于某种原因,当我单击“打孔”,然后等待一两分钟进行测试时,当我单击“打孔”时,打孔显示的时间与打孔显示的时间相同。我做错了什么? 代码如下:C#使用DateTime打卡打卡。现在,c#,time,C#,Time,我曾尝试在用户单击“打卡入”和“打卡出”时创建一个简单的时间计算器。我已经使用DateTime.Now为每个创建了变量,以捕获用户输入和输出的实际时间。我还为打孔创建了一个按钮,为打孔创建了一个单独的按钮。出于某种原因,当我单击“打孔”,然后等待一两分钟进行测试时,当我单击“打孔”时,打孔显示的时间与打孔显示的时间相同。我做错了什么? 代码如下: public partial class Form1 : Form { DateTime startTime = DateT
public partial class Form1 : Form
{
DateTime startTime = DateTime.Now;
DateTime stopTime = DateTime.Now;
public Form1()
{
InitializeComponent();
}
private void btnPunchIn_Click(object sender, EventArgs e)
{
string punchIn = startTime.ToShortTimeString();
lblPunchInTime.Text = punchIn.ToString();
}
private void btnPunchOut_Click(object sender, EventArgs e)
{
string punchOut = stopTime.ToShortTimeString();
TimeSpan timeWorked = new TimeSpan();
lblPunchOutTime.Text = punchOut.ToString();
timeWorked = stopTime - startTime;
lblTimeWorked.Text = timeWorked.ToString();
}
}
设置
stopTime
的唯一时间是创建表单时(在表单类的顶部)。因此,它将始终等于该时间
我想你的意思是设置
stopTime=DateTime。现在他们点击按钮时。对于startTime
类似的处理,在构建Form1
实例时,您只需将值赋给startTime
和stopTime
一次。它们都被分配(几乎)相同的时间值,即当前本地时间。您正在将开始和结束时间设置为DateTime。现在,当类初始化时。如果您在事件处理程序中设置了它们,则应该已全部设置