首先新建一个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();
}
下面是功能实现的结果图:
输入你需要查询的月份,查询它的第一天和最后一天