C# 日期计算
来源:互联网 发布:mac miller身高 编辑:程序博客网 时间:2024/05/01 09:43
日期计算,用 C# 控制台 写的程序。
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;namespace 计算日期{ class Program { /// <summary> /// 主程序入口 /// </summary> /// <param name="args"></param> static void Main(string[] args) { while (true) { Console.WriteLine("***********************日期计算工具***********************"); Console.WriteLine("输入开始日期和结束日期,日期格式为六位YYYYMMDD,如 20121231"); Console.Write("开始日期: "); string str1 = Console.ReadLine(); Console.Write("结束日期: "); string str2 = Console.ReadLine(); Console.WriteLine("日期相差: " + CalculateDate(str1, str2) + " 天"); Console.WriteLine("是否继续,继续直接点回车,退出输入0"); string str3 = Console.ReadLine(); if (str3 == "0") break; } } /// <summary> /// 计算某年某月某日(不含该天)到某年某月某日共计多少天(如20131101到20131105为4天) /// </summary> /// <param name="Date1"></param> /// <param name="Date2"></param> /// <returns></returns> public static int CalculateDate(string Date1, string Date2) { ArrayList myAL = new ArrayList(); int year1 = int.Parse(Date1.Substring(0, 4)); int year2 = int.Parse(Date2.Substring(0, 4)); int month1 = int.Parse(Date1.Substring(4, 2)); int month2 = int.Parse(Date2.Substring(4, 2)); int day1 = int.Parse(Date1.Substring(6, 2)); int day2 = int.Parse(Date2.Substring(6, 2)); int yearnum = year2 - year1 - 1; int LeapYearnum = HowManyLeapYear(year1, year2); int num = yearnum * 365 + LeapYearnum; num += 365 - Datenum(month1, day1); if (Isleapyear(year1) && month1 < 2) num++; num += Datenum(month2, day2); if (Isleapyear(year2) && month2 > 1) num++; return num; } /// <summary> /// 判断某年(不含)到某年(不含)之间有多少个闰年 /// </summary> /// <param name="yearStart"></param> /// <param name="yearEnd"></param> /// <returns></returns> public static int HowManyLeapYear(int yearStart, int yearEnd) { //ArrayList myAL = new ArrayList(); //for (int i = yearStart + 1; i < yearEnd; i++) //{ // myAL.Add(i); //} int count = 0; for (int i = yearStart + 1; i < yearEnd; i++) { if (Isleapyear(i)) { count++; } } return count; } /// <summary> /// 判断某年份是否是闰年,返回bool值,闰年为True /// </summary> /// <param name="year"></param> /// <returns></returns> public static bool Isleapyear(int year) { return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0; } /// <summary> /// 计算某月某日是该年的第几天(默认为非闰年,1月1日为第一天) /// </summary> /// <param name="month"></param> /// <param name="day"></param> /// <returns></returns> public static int Datenum(int month, int day) { int num = 0; for (int i = 1; i < month; i++) { num += daysinmonth(i); } num += day; return num; } /// <summary> /// 计算某月多少天(返回该月份天数,2月默认为28天) /// </summary> /// <param name="month"></param> /// <returns></returns> public static int daysinmonth(int month) { switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; case 4: case 6: case 9: case 11: return 30; case 2: return 28; default: return -1; } } }}
- C#计算日期
- C# 日期计算
- C# DateTime 日期计算
- C# 计算时间日期
- C#日期格式化及计算
- C#计算日期相隔天数
- C#各种日期计算汇总
- C#计算日期差(后台)
- C#计算日期时间间隔
- C# 根据日期计算日期周数
- C#中计算两个日期差
- C#中计算两个日期差
- C#中计算时间段内工作日期
- C#计算日期之间的差值
- C# 日期的处理(计算本月剩余日期)
- C# 计算两个日期之间的所有日期
- C#根据日期计算星期几 -- 基姆拉尔森计算公式
- c#如何计算两个日期相差几年几个月?C#日期间隔 c#时间间隔
- Struts2配置详解
- 在Ubuntu下进行MongoDB安装步骤
- 关于对JSP中四种范围对象的作用域的认识
- TFS CI
- 算法优化总结5法则
- C# 日期计算
- 使用Python 控制MS Word
- The User-Agent string format for human-operated web browsers
- VC实现炫眩qq界面的模拟(附源码)
- 【使用JSOUP实现网络爬虫】使用选择器语法来查找元素
- CMD命令窗口如何执行带有外部jar包的java文件
- gEdit: 打造简洁,小巧的编程环境
- XCode快捷键
- The X11 forwarding request was rejected!