C#获取某月的第一天和最后一天

首先新建一个DateMethod类,定义GetDay的 get, set的属性

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1.Class
{
    class DateMethod
    {
        string GetDay
        {
            get;
            set;
        }
    }
}

然后再定义一个MainMethod 类去继承上面的一个DateMethod类,get 访问器,用于获取属性的值,需要在 get 语句最后使用 return 关键字返回一个与属性数据类型相兼容的值;set 访问器用于设置字段的值,这里需要使用一个特殊的值 value,它就是给字段赋的值。

public class MainMethod : DateMethod
 {
      private string Days;
      public string GetDay
      {
          get
          {
             return Days;
          }
          set
          {
             Days = value;
           }
      }
}

下面就是功能实现的方法:

static void AccomplishMethod()
 {
    MainMethod mainmethod = new MainMethod();
    DateMethod datemethod = mainmethod;
	Console.WriteLine("请输入你需要查询第一天和最后一天的月份");
	mainmethod.GetDay = Console.ReadLine();
	if(mainmethod.GetDay == ""{
	    Console.WriteLine("检测到你未输入状态!!!" + "\n");
	}
	else
	{
	   string GetDays = mainmethod.GetDay.IndexOf("月").ToString();
       if (GetDays == "-1")
       {
          GetDays = mainmethod.GetDay;
       }
       else
       {
         string[] InterceptParameter = mainmethod.GetDay.Split('月');
         GetDays = InterceptParameter[0];
       }
	
       try
       {
           //获取需要查询的月份
           int parameter = Convert.ToInt32(GetDays);

           if (parameter > 0 && parameter <= 12)
           {
               //获取当前时间的月份
               int M = DateTime.Now.Month;

               //当前时间的月份减去需要查询的月份
               int Start = M - parameter;
               int Last = M - parameter - 1;

               //当前系统时间
               DateTime dt = DateTime.Now;

              //获取的是月份的第一天
              string e = dt.AddMonths(-Start).AddDays(-dt.Day + 1).Date.ToString();

              //获取的是月份的最后一天
              string y = dt.AddMonths(-Last).AddDays(-dt.Day + 1).Date.AddSeconds(-1).ToString();

               Console.WriteLine(e);
               Console.WriteLine(y + "\n");
           }
           else
           {
               Console.WriteLine("你输入月份不正确,请重新输入!");
           }
        }
        catch (Exception)
        {
            Console.WriteLine("你输入格式不正确,请重新输入!");
        }	 
	}	
}

然后再到主方法进行调用该方法:

static void Main(string[] args)
{
   AccomplishMethod();//调用功能实现方法
   bool ok = Convert.ToBoolean(ConsoleKey.Enter) == true;//获取输入月份按回车键(Enter键)是否触发
   for (bool i = false; ok == true;)//状态为true的话,for循环不停的调用该方法
   {
       AccomplishMethod();
   }
   Console.ReadKey();
}

下面是功能实现的结果图:
输入你需要查询的月份,查询它的第一天和最后一天

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值