判断日期在所在年中的位置

来源:互联网 发布:网络交友有哪些弊端 编辑:程序博客网 时间:2024/06/06 00:33
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Calculate_Date_Location{    class Program    {        static void Main(string[] args)        {            Console.WriteLine("输入一个日期,输出这是这一年的第几天。");            var input = Console.ReadLine();            var year = input.Substring(0, 4);            var month = input.Substring(4, 2);            var date = input.Substring(6, 2);            var mDays = 0;            var dDays = date.Substring(0, 1) == "0" ? int.Parse(date.Substring(1, 1)) : int.Parse(date);            //2月份天数在闰年和平年中不一样             if (month.Substring(0, 1) == "0")            {                if (month.Substring(1, 1) == "2")                {                    mDays = IsLeapYear(year) ? 29 : 28;                    mDays = mDays * 2;                }                else                {                    var iMonth = int.Parse(month.Substring(1, 1));                    mDays = (IsBMonth(iMonth) ? 31 : 30) * (iMonth - 1);                }            }            else            {                var iMonth = int.Parse(month);                mDays = (IsBMonth(iMonth) ? 31 : 30) * (iMonth - 1);            }            Console.WriteLine(mDays + dDays);        }        //闰年判断        public static bool IsLeapYear(string year)        {            var iYear = int.Parse(year);            //四年一闰,百年不闰,四百年再闰            return (iYear % 100 == 0) ? (iYear % 4 == 0 && iYear % 400 == 0) : (iYear % 4 == 0);        }        //大小月判断        public static bool IsBMonth(int month)        {            var bMonth = new int[] { 1, 3, 5, 7, 8, 10, 12 };            return bMonth.Contains(month);        }    }}

0 0