问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C# winform 分秒倒计时器

发布网友 发布时间:2022-05-07 11:16

我来回答

2个回答

热心网友 时间:2022-04-23 23:09

  public partial class FormTime : Form
  {
  public FormTime()
  {
  InitializeComponent();
  }

  private void FormTime_Load(object sender, EventArgs e)
  {
  timerMain.Enabled = true;
  timerMain.Interval = 1000;
  timerMain.Start();
  }

  private void timerMain_Tick(object sender, EventArgs e)
  {
  DateTime observeTime = DateTime.Parse("2023-11-22 22:45:30");//倒计时日期
  DateTime now = DateTime.Now; //当前时间
  TimeSpan ts = observeTime.Subtract(now); //两个时间之差
  StringBuilder result=new StringBuilder(); //存放结果
  int year=observeTime.Year - now.Year; //得到相差的年
  int month = observeTime.Month - now.Month; //得到相差的月
  int day = observeTime.Day - now.Day; //得到相差的日

  int hmh=(observeTime.Hour-now.Hour)*3600+(observeTime.Minute-now.Minute)*60+(observeTime.Second-now.Second);

  //如果时分秒比现在的时间晚
  if(hmh<=0)
  {
  //向日借一
  day--;
  if((day<=0&&month>0)||(day<=0&&year>0))
  {
  //如果天数小于0向月借一
  day=GetDay(now.Year, now.Month)- now.Day + observeTime.Day;
  month--;
  if(month<0&&year>0)
  {
  //如果月数小于0,向年借一,同时把月专为正数
  month += 12;
  year--;
  }
  }
  }

  //如果天数小于0向月借一
  if ((day < 0 && month > 0) || (day < 0 && year > 0))
  {
  day = GetDay(now.Year, now.Month) - now.Day + observeTime.Day;
  month--;
  if (month < 0 && year > 0)
  {
  //如果月数小于0,向年借一,同时把月专为正数
  month += 12;
  year--;
  }
  }

  //如果月数小于0,向年借一,同时把月专为正数
  if (month < 0 && year > 0)
  {
  month += 12;
  year--;
  }

  if (year<0||(year == 0 && month < 0)||(year == 0 && month==0&&day<0))
  {
  lblShow.Text = "已超过日期";
  return;
  }

  if (year> 0)
  {
  result.Append(year+ "年");
  }
  if (month> 0)
  {
  result.Append(month+ "月");
  }
  if (day> 0)
  {
  result.Append(day+ "天");
  }
  if (ts.Hours > 0)
  {
  result.Append(ts.Hours + "时");
  }
  if (ts.Minutes > 0)
  {
  result.Append(ts.Minutes + "分");
  }
  if (ts.Seconds > 0)
  {
  result.Append(ts.Seconds + "秒");
  }
  if(result.Length==0)
  {
  result.Append("已超过日期");
  }
  lblShow.Text = result.ToString();
  }

  //输入月份后获得该月天数
  private int GetDay(int year, int month)
  {
  int result = 31;
  switch (month)
  {
  case 4:
  case 6:
  case 9:
  case 11:
  result = 30;
  break;
  case 2:
  if ((year % 100 != 0) && (year% 4 == 0) || (year% 400 == 0))
  {
  result = 29;
  }
  else
  {
  result = 28;
  }
  break;
  }
  return result;
  }
  }
  参考下,希望能帮到你。

热心网友 时间:2022-04-24 00:27

用Timer控件就行了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
打印机硒鼓安装方法及步骤 如何安装新硒鼓? 我现在很困惑该不该和女友继续发展下去 电脑上字体怎么安装方法简单易行的字体安装步骤及技巧 网页字体显示不出.怎么办? 如何添加电脑上没有的字体解决电脑字体限制增加字体选择多样性_百度知 ... 不有效字体文件 电脑字体识别不了 梦见身上煤炭黑的长辈给我钥匙的预兆 株洲最值得一去的古镇 问大家一个软件,就是那种日期可以倒计时的,是什么啊 降低税率法怎么降低消费税 手机天数倒计时器 谁有日期倒计时器 银行卡不在身边能不能改手机号? 慢跑有什么好处 华为手机怎么把相片连成一起变成长相片? 长期慢跑都有什么好处? 慢跑有什么好处,需要注意些什么? 浮钓鲢鳙怎么调漂漂 电影捍卫者 盘点近期上映的抗战电影,【在线观看】免费百度云资源 盘点2017年国产电影,【免费高清】在线观看百度网盘资源 跪求免费抗战电影战争片400部,【在线观看】免费百度云资源 盘点最真实的战争电影,【免费高清】在线观看百度网盘资源 浮钓鲢鳙的调漂方法 跪求免费抗战电影全集,【免费高清】在线观看百度网盘资源 谁有电影《捍卫者》高清字幕版 现在有高清但是没有字幕 有字幕不是高清 。求资源,跪谢!! 跪求中国最经典的抗战电影,【在线观看】免费百度云资源 2014万能日记100~200寒假20篇,急啊 一般情况下,应纳税额等于计税基础乘以税率,如何降低应纳税额? 苹果手机强制重启怎么操作? 同一个人可以建两个吗?怎么弄? 铜排的量怎么计算 图纸上写的TMY-3x(60X6)+1X(50x5) 怎么计算铜排的重量从而可以计算成本, 如何算铜牌的重量? 单位要买铜母排,100×10和120×10的,都是6米, 帮忙计算一下 铜排的米数 铜排质量。一根截面不是矩形的规格为80*10的长为100mm的铜排质量怎么算。 如何确定母排电流密度? 铜线怎么去皮算重量 怎么用同一个手机号码申请多个? 一个人两个手机号,怎样注册两个? 如何多开一个? 如何申请第二个? 如何用手机同时申请多个 怎么申请第二个 怎样申请多个? 怎样申请多个? 同个号码怎样申请多个 在同一部手机上怎么注册另一个? 谁来赏析一下这首歌的歌词?感激不尽!