本文主要是介绍C# 计算剩余时间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;namespace 倒计时
{class Program{static Timer timer = new Timer();static DateTime endTime;static string fileName = "countdown.txt";static void Main(string[] args){LoadCountdown(); // 读取倒计时信息// 设置计时器timer.Interval = 1000; // 每秒触发一次timer.Elapsed += Timer_Elapsed;timer.Enabled = true;Console.WriteLine("倒计时开始,将在{0}结束。", endTime);Console.ReadLine();}static void Timer_Elapsed(object sender, ElapsedEventArgs e){TimeSpan duration = endTime - DateTime.Now; // 计算时间差if (duration.TotalSeconds <= 0) // 时间到了{timer.Enabled = false; // 停止计时器Console.WriteLine("时间到了!");SaveCountdown(DateTime.MinValue); // 清除倒计时信息}else // 显示剩余时间{Console.WriteLine("剩余时间:{0}小时{1}分钟{2}秒", (int)duration.TotalHours, (int)duration.TotalMinutes % 60, (int)duration.TotalSeconds % 60);SaveCountdown(endTime); // 保存倒计时信息}}static void LoadCountdown(){if (File.Exists(fileName)) // 文件存在{string content = File.ReadAllText(fileName); // 读取文件内容if (!string.IsNullOrEmpty(content)) // 文件内容不为空{DateTime savedTime = DateTime.Parse(content); // 解析保存的时间TimeSpan duration = savedTime - DateTime.Now; // 计算时间差if (duration.TotalSeconds > 0) // 时间还没到{endTime = savedTime; // 恢复结束时间return;}}}// 文件不存在或者时间已经到了,重新开始倒计时DateTime startTime = DateTime.Now;endTime = startTime.AddMinutes(20);}static void SaveCountdown(DateTime time){File.WriteAllText(fileName, time.ToString()); // 保存时间到文件}}
}
这篇关于C# 计算剩余时间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!