詳細講解在c 語言中DateTime類常用技巧

2021-05-04 14:41:10 字數 4157 閱讀 3442

//今天

datetime.now.date.toshortdatestring();

//昨天,就是今天的日期減一

datetime.now.adddays(-1).toshortdatestring();

//明天,同理,加一

datetime.now.adddays(1).toshortdatestring();

//本週(要知道本週的第一天就得先知道今天是星期幾,從而得知本週的第一天就是幾天前的那一天,要注意的是這裡的每一周是從週日始至週六止

datetime.now.adddays(convert.todouble((0 - convert.toint16(datetime.now.dayofweek)))).toshortdatestring();

datetime.now.adddays(convert.todouble((6 - convert.toint16(datetime.now.dayofweek)))).toshortdatestring();

//如果你還不明白,再看一下中文顯示星期幾的方法就應該懂了

//由於dayofweek返回的是數字的星期幾,我們要把它轉換成漢字方便我們閱讀,有些人可能會用switch來乙個乙個地對照,其實不用那麼麻煩的

string day = new string ;

day[convert.toint16(datetime.now.dayofweek)];

//上週,同理,乙個週是7天,上週就是本週再減去7天,下週也是一樣

datetime.now.adddays(convert.todouble((0 - convert.toint16(datetime.now.dayofweek))) - 7).toshortdatestring();

datetime.now.adddays(convert.todouble((6 - convert.toint16(datetime.now.dayofweek))) - 7).toshortdatestring();

//下週

datetime.now.adddays(convert.todouble((0 - convert.toint16(datetime.now.dayofweek))) + 7).toshortdatestring();

datetime.now.adddays(convert.todouble((6 - convert.toint16(datetime.now.dayofweek))) + 7).toshortdatestring();

//本月,很多人都會說本月的第一天嘛肯定是1號,最後一天就是下個月一號再減一天。當然這是對的

//一般的寫法

datetime.now.year.tostring() + datetime.now.month.tostring() + "1"; //第一天

datetime.parse(datetime.now.year.tostring() + datetime.now.month.tostring() + "1").addmonths(1).adddays(-1).toshortdatestring();//最後一天

//巧用c#裡tostring的字元格式化更簡便

datetime.now.tostring("yyyy-mm-01");

datetime.parse(datetime.now.tostring("yyyy-mm-01")).addmonths(1).adddays(-1).toshortdatestring();

//上個月,減去乙個月份

datetime.parse(datetime.now.tostring("yyyy-mm-01")).addmonths(-1).toshortdatestring();

datetime.parse(datetime.now.tostring("yyyy-mm-01")).adddays(-1).toshortdatestring();

//下個月,加去乙個月份

datetime.parse(datetime.now.tostring("yyyy-mm-01")).addmonths(1).toshortdatestring();

datetime.parse(datetime.now.tostring("yyyy-mm-01")).addmonths(2).adddays(-1).toshortdatestring();

//7天後

datetime.now.date.toshortdatestring();

datetime.now.adddays(7).toshortdatestring();

//7天前

datetime.now.adddays(-7).toshortdatestring();

datetime.now.date.toshortdatestring();

//本年度,用tostring的字元格式化我們也很容易地算出本年度的第一天和最後一天

datetime.parse(datetime.now.tostring("yyyy-01-01")).toshortdatestring();

datetime.parse(datetime.now.tostring("yyyy-01-01")).addyears(1).adddays(-1).toshortdatestring();

//上年度,不用再解釋了吧

datetime.parse(datetime.now.tostring("yyyy-01-01")).addyears(-1).toshortdatestring();

datetime.parse(datetime.now.tostring("yyyy-01-01")).adddays(-1).toshortdatestring();

//下年度

datetime.parse(datetime.now.tostring("yyyy-01-01")).addyears(1).toshortdatestring();

datetime.parse(datetime.now.tostring("yyyy-01-01")).addyears(2).adddays(-1).toshortdatestring();

//本季度,很多人都會覺得這裡難點,需要寫個長長的過程來判斷。其實不用的,我們都知道一年四個季度,乙個季度三個月

//首先我們先把日期推到本季度第乙個月,然後這個月的第一天就是本季度的第一天了

datetime.now.addmonths(0 - ((datetime.now.month - 1) % 3)).tostring("yyyy-mm-01");

//同理,本季度的最後一天就是下季度的第一天減一

datetime.parse(datetime.now.addmonths(3 - ((datetime.now.month - 1) % 3)).tostring("yyyy-mm-01")).adddays(-1).toshortdatestring();

//下季度

datetime.now.addmonths(3 - ((datetime.now.month - 1) % 3)).tostring("yyyy-mm-01");

datetime.parse(datetime.now.addmonths(6 - ((datetime.now.month - 1) % 3)).tostring("yyyy-mm-01")).adddays(-1).toshortdatestring();

//上季度

datetime.now.addmonths(-3 - ((datetime.now.month - 1) % 3)).tostring("yyyy-mm-01");

datetime.parse(datetime.now.addmonths(0 - ((datetime.now.month - 1) % 3)).tostring("yyyy-mm-01")).adddays(-1).toshortdatestring(); 

//如何獲得當月有多少天

int m=system.datetime.daysinmonth(system.datetime.now.year,system.datetime.now.month);

//獲取某月的實際工作日(即不包括週六日)

//呼叫

//int days =getdays(system.datetime.now));

private int getdays(system.datetime date1)

}return mm;

}

c語言詳細講解!

你知道我們申明乙個變數時象這樣int i 這個i是可能在它處重新變賦值的。如下 int i 0 i 20 這裡重新賦值了 不過有一天我的程式可能需要這樣乙個變數 暫且稱它變數 在申明時就賦乙個初始值。之後我的程式在其它任何處都不會再去重新對它賦值。那我又應該怎麼辦呢?用const const int...

C 語言環境設定詳細講解

c 環境設定 本地環境設定 如果您想要設定 c 語言環境,您需要確保電腦上有以下兩款可用的軟體,文字編輯器和 c 編譯器。文字編輯器 這將用於輸入您的程式。文字編輯器包括 windows notepad os edit command brief epsilon emacs 和 vim vi。文字編...

C 語言中負數移位運算講解

c 語言中負數移位運算講解 為移位運算子。為左移位運算子,即資料位元組中的每個二進位制位同時 向左移位。如 x 為右移位運算 符,即資料位元組中的每個二進位制位同時向右移位。如 x n 表示 x 中的每個二進位制位同時 向右移動 n 位。下圖演示了乙個 2 位元組變數左移 3 位的過程 十進位制數 ...