asp.net 擷取當月的第一天和最後一天樣本

來源:互聯網
上載者:User

標籤:

ASP.NET(C#)返回每個月的第一天和最後一天要怎麼來做呢,我們下文整理了不少例子,然後根據例子做了一個智能判斷每個月有多少天,無需你計算,本函數將替你完成: 希望對各位有協助。 

最簡單擷取當月第一天和最後一天 代碼如下

 代碼如下 複製代碼

DateTime now = DateTime.Now;
DateTime dt1 = new DateTime(now.Year, now.Month, 1);

DateTime dt2 = d1.AddMonths(1).AddDays(-1);

dt1是本月的第一天,dt2本月的最後一天,
最後一天的演算法是:得到本月的第一天然後增加一月,再減去一天.

例子

 代碼如下 複製代碼

DateTime dt = DateTime.Now; 
//本月第一天時間 
DateTime dt_First = dt.AddDays(-(dt.Day) + 1); 
Label1.Text = dt_First.ToString("yyyy-MM-dd"); 
//將本月月數+1 
DateTime dt2 = dt.AddMonths(1); 
//本月最後一天時間 
DateTime dt_Last = dt2.AddDays(-(dt.Day)); 
Label2.Text = dt_Last.ToString("yyyy-MM-dd"); 
int weeknow = Convert.ToInt32(System.DateTime.Now.DayOfWeek); 
int daydiff = (-1) * weeknow + 1; 
int dayadd = 7 - weeknow;

上面我們都需要手來寫,下面代碼可以實現智能判斷了

例子,智能判斷每個月有多少天,無需你計算,本函數將替你完成:

 

 代碼如下 複製代碼
using System;
namespace DotNet.Utilities
{
    public class DateFormat
    {
        //返回每月的第一天和最後一天
        public static void ReturnDateFormat(int month, out string firstDay, out string lastDay)
        {
            int year = DateTime.Now.Year + month / 12;
            if (month != 12)
            {
                month = month % 12;
            }
            switch (month)
            {
                case 1:
                    firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
                    lastDay = DateTime.Now.ToString(year + "-0" + month + "-31");
                    break;
                case 2:
                    firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
                    if (DateTime.IsLeapYear(DateTime.Now.Year))
                        lastDay = DateTime.Now.ToString(year + "-0" + month + "-29");
                    else
                        lastDay = DateTime.Now.ToString(year + "-0" + month + "-28");
                    break;
                case 3:
                    firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
                    lastDay = DateTime.Now.ToString("yyyy-0" + month + "-31");
                    break;
                case 4:
                    firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
                    lastDay = DateTime.Now.ToString(year + "-0" + month + "-30");
                    break;
                case 5:
                    firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
                    lastDay = DateTime.Now.ToString(year + "-0" + month + "-31");
                    break;
                case 6:
                    firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
                    lastDay = DateTime.Now.ToString(year + "-0" + month + "-30");
                    break;
                case 7:
                    firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
                    lastDay = DateTime.Now.ToString(year + "-0" + month + "-31");
                    break;
                case 8:
                    firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
                    lastDay = DateTime.Now.ToString(year + "-0" + month + "-31");
                    break;
                case 9:
                    firstDay = DateTime.Now.ToString(year + "-0" + month + "-01");
                    lastDay = DateTime.Now.ToString(year + "-0" + month + "-30");
                    break;
                case 10:
                    firstDay = DateTime.Now.ToString(year + "-" + month + "-01");
                    lastDay = DateTime.Now.ToString(year + "-" + month + "-31");
                    break;
                case 11:
                    firstDay = DateTime.Now.ToString(year + "-" + month + "-01");
                    lastDay = DateTime.Now.ToString(year + "-" + month + "-30");
                    break;
                default:
                    firstDay = DateTime.Now.ToString(year + "-" + month + "-01");
                    lastDay = DateTime.Now.ToString(year + "-" + month + "-31");
                    break;
            }
        }
    }
}

asp.net 擷取當月的第一天和最後一天樣本

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.