简体   繁体   English

如何在C#中使用日期时间获取月份的第一天和月份的最后一天

[英]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 现在得到了答案...谢谢.........但是如何使用Java脚本来完成此操作,因为我对学习它非常感兴趣,所以请将此代码的建议以JavaScript编写

and i will be glad if u let me know the standard book to be followed to learn java script 如果您让我知道学习Java脚本要遵循的标准书,我将感到非常高兴

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. 使用DateTime构造函数,第一天很容易。 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 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());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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