Find Start and End Dates of a Month

.aspx


<form id="form1" runat="server">
    <div>
        Current Date:
        <asp:Label ID="lblcurrent" runat="server" Text="Label"></asp:Label>
        <br />
        <br />
        Current Month Start Date:
        <asp:Label ID="lblcurrentstart" runat="server" Text="Label"></asp:Label>
        <br />
        <br />
        Current Month End Date:
        <asp:Label ID="lblcurrentend" runat="server" Text="Label"></asp:Label>
        <br />
        <br />
        Prvious Month Start Date:
        <asp:Label ID="lblprevstart" runat="server" Text="Label"></asp:Label>
        <br />
        <br />
        Previous Month End Date:
        <asp:Label ID="lblprevend" runat="server" Text="Label"></asp:Label>
        <br />
        <br />
        Next Month Start Date:
        <asp:Label ID="lblnextstart" runat="server" Text="Label"></asp:Label>
        <br />
        <br />
        Next Month End Date:<asp:Label ID="lblnextend" runat="server" Text="Label">   </asp:Label>
    </div>
</form>

.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
            if (!IsPostBack)
            {
                lblcurrent.Text = DateTime.Now.ToString("dd/MM/yyyy");//MM for month number,MMM for month short name and MMMM for month full name
                lblcurrentstart.Text = MonthStartDate();
                lblcurrentend.Text = MonthEndDate();
                lblprevstart.Text = PreviousMonthStartDate();
                lblprevend.Text = PreviousMonthEndDate();
                lblnextstart.Text = NextMonthStartDate();
                lblnextend.Text = NextMonthEndDate();
            }
        }
        private string MonthStartDate()
        {
            DateTime Date = DateTime.Now;
            return (new DateTime(Date.Year, Date.Month, 1)).ToString("dd/MM/yyyy");
        }
        private string MonthEndDate()
        {
            DateTime Date = DateTime.Now.AddMonths(1);
            return (new DateTime(Date.Year,Date.Month,1)).AddDays(-1).ToString("dd/MM/yyyy");
        }
        private string PreviousMonthStartDate()
        {
            DateTime Date = DateTime.Now.AddMonths(-1);
            return (new DateTime(Date.Year, Date.Month,1)).ToString("dd/MM/yyyy");
        }
        private string PreviousMonthEndDate()
        {
            DateTime Date = DateTime.Now;
            return (new DateTime(Date.Year,Date.Month,1)).AddDays(-1).ToString("dd/MM/yyyy");
        }
        private string NextMonthStartDate()
        {
            DateTime Date = DateTime.Now.AddMonths(1);
            return (new DateTime(Date.Year, Date.Month,1)).ToString("dd/MM/yyyy");
        }
        private string NextMonthEndDate()
        {
            DateTime Date = DateTime.Now.AddMonths(2);
            return (new DateTime(Date.Year,Date.Month,1)).AddDays(-1).ToString("dd/MM/yyyy");
        }
}

Please take DateTime.Now in to another variable because some times you may get wrong result like following scenario.
    1.When your calculation performed at the time 11.59.59.59.
    2.Before starting new year.
    3.Before starting new month and new day.