C# 项目06-计算程序运行时间

实现需求

记录程序运行时间,当程序退出后,保存程序运行时间,等下次程序再次启动时,继续记录运行时间

运行环境

Visual Studio 2022

知识点

TimeSpan

表示时间间隔。两个日期之间的差异的 TimeSpan 对象

C# 复制代码
TimeSpan P_TimeSpan;
DateTime G_DateTime = DateTime.Now;
P_TimeSpan = DateTime.Now - G_DateTime;
/*
 P_TimeSpan.Days;时间间隔的天数
 P_TimeSpan.Hours;时间间隔的小时
 P_TimeSpan.Minutes;时间间隔的分钟
 P_TimeSpan.Seconds;时间间隔的分钟
*/

断电保持

本项目用的方法是将数据保存到项目属性中,操作方法如下:

  1. 右键点击项目,然后点击属性

2、在设置中创建对应的变量和数据类型,范围默认为用户

3、利用窗体的FormClosing事件,保存数据

C# 复制代码
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            DateTime G_DateTime_Close = DateTime.Now;
            Properties.Settings.Default.RuntimeDays = P_TimeSpan.Days + Properties.Settings.Default.RuntimeDays;
            Properties.Settings.Default.RuntimeHours = P_TimeSpan.Hours + Properties.Settings.Default.RuntimeHours;
            Properties.Settings.Default.RuntimeMinutes = P_TimeSpan.Minutes + Properties.Settings.Default.RuntimeMinutes;
            Properties.Settings.Default.RuntimeSeconds = P_TimeSpan.Seconds + Properties.Settings.Default.RuntimeSeconds;
            Settings.Default.Save();
        }

4、读取数据

C# 复制代码
Properties.Settings.Default.RuntimeDays
Properties.Settings.Default.RuntimeHours
Properties.Settings.Default.RuntimeMinutes
Properties.Settings.Default.RuntimeSeconds

动画演示

相关推荐
我找到地球的支点啦5 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
予昊5 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
weixin_461408586 小时前
Mybatis-flex小记
java·开发语言·mybatis
青梅味猪大肠7 小时前
【深入浅出C++】为什么虚表指针可以解决菱形继承
开发语言·c++
潘潘的嵌入式日记7 小时前
I²C 从机接收总被覆盖?双缓冲要在 STOP 时交接
c语言·开发语言·单片机
Lhan.zzZ8 小时前
QML 组件库:VS2022 + Qt 静态库方案
开发语言·c++·qt·visual studio
敲代码的嘎仔8 小时前
28届后端开发-海康威视日常实习一面(已OC)
java·开发语言·后端·面试·海康威视·实习·大厂
sakiko_10 小时前
OC基础语法(与Swift对比)-1
开发语言·ios·objective-c·swift
迷迭香yy10 小时前
基金档案数据工程实战从收入分析到持仓穿透的Python解析 IG50免费开源股票数据API接口
开发语言·python
晊晌_h10 小时前
嵌入式从0到精通——线程
java·开发语言·jvm