简体   繁体   中英

how to get first day of month and last day of month using date time in C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class calenderdisp : System.Web.UI.Page
{
    DateTime dt = DateTime.Now;
    protected void Page_Load(object sender, EventArgs e)

    {
        if (!IsPostBack )
        {
            if (ddlweeklist.SelectedItem.Text == "Today")
            {
                txtstart.Text = DateTime.Now.ToString("dd/MM/yyyy");

                Txtend.Text = DateTime.Today.ToString("dd/MM/yyyy");




            }
        }


    }
    protected void ddlweeklist_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (ddlweeklist.SelectedItem.Text == "This Week")
        {
            int st = DayOfWeek.Sunday - dt.DayOfWeek;
            int en = DayOfWeek.Saturday - dt.DayOfWeek;
            txtstart.Text = dt.AddDays(st).ToString("dd/MM/yyyy");
            Txtend.Text = dt.AddDays(en).ToString("dd/MM/yyyy");

        }

        if (ddlweeklist.SelectedItem.Text == "Next Week")
        {
            DateTime dt1 = dt.AddDays(7);
            int st = DayOfWeek.Sunday - dt1.DayOfWeek;
            int en = DayOfWeek.Saturday - dt1.DayOfWeek;
            txtstart.Text = dt1.AddDays(st).ToString("dd/MM/yyyy");
            Txtend.Text = dt1.AddDays(en).ToString("dd/MM/yyyy");

        }

        if (ddlweeklist.SelectedItem.Text == "Last Week")
        {
            DateTime dt2 = dt.AddDays(-7);
            int st = DayOfWeek.Sunday - dt2.DayOfWeek;
            int en = DayOfWeek.Saturday - dt2.DayOfWeek;
            txtstart.Text = dt2.AddDays(st).ToString("dd/MM/yyyy");
            Txtend.Text = dt2.AddDays(en).ToString("dd/MM/yyyy");

        }

        if (ddlweeklist.SelectedItem.Text == "This Month")
        {
            DateTime stmonth = new DateTime(dt.Year, dt.Month, 1);
        DateTime enmnth = new DateTime(dt.Year, dt.Month, DateTime.DaysInMonth(dt.Year, dt.Month));
        txtstart.Text = stmonth.ToString("dd/MM/yyyy");
        Txtend.Text = enmnth.ToString("dd/MM/yyyy");
        txtnodm.Text = DateTime.DaysInMonth(dt.Year, dt.Month).ToString();
        Isleap();
        }
    }
}

now got the answer...thank u .........but how this can be done using java script as i was very much interested to learn it so please kindly give suggestions to this code to be written in javascript

and i will be glad if u let me know the standard book to be followed to learn java script

Please try with the below code snippet.

DateTime dt = DateTime.Now; //Your Date

DateTime start = new DateTime(dt.Year, dt.Month, 1); //First Date of the month
DateTime end = start.AddMonths(1).AddDays(-1); //Last Date of the month

string startDay = start.DayOfWeek.ToString(); //First weekday of the month
string endDay = end.DayOfWeek.ToString(); //Last weekday of the month
var d = DateTime.Today;
// Start
d.AddDays(-d.Day+1);
// End
d.AddMonths(1).AddDays(-d.Day).Dump();

The first day is easy with the DateTime constructor. The last day is one day less than the first day of the next month.

public static void FirstAndLastDayOfMonth(DateTime date, out DateTime first, out DateTime last) {
  first = new DateTime(date.Year, date.Month, 1);
  DateTime nextFirst;
  if (first.Month == 12) nextFirst = new DateTime(first.Year + 1, 1, 1);
  else nextFirst = new DateTime(first.Year, first.Month + 1, 1);
  last = nextFirst.AddDays(-1);
}

you can also get last day this way:

DateTime today = DateTime.Today;
DateTime endOfMonth = new DateTime(today.Year, today.Month, DateTime.DaysInMonth(today.Year, today.Month));

or:

DateTime today = DateTime.Today;
DateTime endOfMonth = new DateTime(today.Year, today.Month, 1).AddMonths(1).AddDays(-1);

This link may also help you:

http://www.c-sharpcorner.com/UploadFile/scottlysle/FirstAndLastDay10262007135750PM/FirstAndLastDay.aspx

To get first day of month:

String day = System.DateTime.Now.DayOfWeek.ToString();
            int date = System.DateTime.Now.Day;
            String fdm = System.DateTime.Now.AddDays(-Convert.ToDouble(date - 1)).DayOfWeek.ToString();

To get last day of month:

var now = DateTime.Now;
            var startOfMonth = new DateTime(now.Year, now.Month, 1);
            var DaysInMonth = DateTime.DaysInMonth(now.Year, now.Month);
            var lastDay = new DateTime(now.Year, now.Month, DaysInMonth);
            string lastday = lastDay.DayOfWeek.ToString();
 DateTime dt = DateTime.Now.AddDays(-(DateTime.Now.Day - 1));
 int lday= DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);
 DateTime DTY = new DateTime(DateTime.Now.Year, DateTime.Now.Month, lday);

 MessageBox.Show("First Day :- "+dt.DayOfWeek.ToString());
 MessageBox.Show("Last Day :-" + DTY.DayOfWeek.ToString());

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM