繁体   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();
        }
    }
}

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

如果您让我知道学习Java脚本要遵循的标准书,我将感到非常高兴

请尝试使用以下代码段。

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();

使用DateTime构造函数,第一天很容易。 最后一天比下个月的第一天少一天。

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);
}

您还可以通过这种方式获得最后一天:

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

要么:

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

此链接还可以帮助您:

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

要获得每月的第一天:

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();

要获取月份的最后一天:

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