C# 使用 DateTime.Now 打入打出

标签 c# time

当用户点击“打卡”然后“打卡”时,我尝试创建一个简单的时间计算器。我已经使用 DateTime.Now 为每个变量创建了变量,以捕获用户打卡和打卡的实际时间。我还创建了一个用于打卡的按钮和一个单独的打卡按钮。出于某种原因,当我单击 Punch In,然后等待一两分钟进行测试时,当我单击 Punch Out 时,Punch Out 显示的时间与 Punch In 相同。我究竟做错了什么? 下面是代码:

 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 是在创建表单时(在 Form 类的顶部)。因此它将始终等于那个时间。

我认为您的意思是在他们单击按钮时设置 stopTime = DateTime.NowstartTime 的类似交易。

关于C# 使用 DateTime.Now 打入打出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48196737/

相关文章:

java - 时区之间的转换给出了不正确的结果

c++ - 如何解释时钟()?

c# - MVC 网址路由

c# - 如何在更改 .NET Framework 时迁移 .RESX 文件

c# - NUnit 和测试 Xamarin PCL

php - PHP 可以使用本地主机时区吗?

c++ - 从 C++ 中的 std::chrono::time_point 中提取年/月/日等

c# - Caliburn.Micro Click事件以查找图像点并计算距离

c# - ASP.NET MVC 中的多个文件上传是多次上传单个文件

mongodb - 我们可以只比较MongoDB中的时间吗?