C 時間問題

2021-07-25 19:00:39 字數 3572 閱讀 7096

datetime dt = datetime.now;  //當前時間

datetime startweek = dt.adddays(1 - convert.toint32(dt.dayofweek.tostring("d")));  //本週周一

datetime endweek = startweek.adddays(6);  //本週週日

datetime startmonth = dt.adddays(1 - dt.day);  //本月月初

datetime endmonth = startmonth.addmonths(1).adddays(-1);  //本月月末//

endmonth = startmonth.adddays((dt.addmonths(1) - dt).days - 1);  //本月月末

datetime startquarter = dt.addmonths(0 - (dt.month - 1) % 3).adddays(1 - dt.day);  //本季度初

datetime endquarter = startquarter.addmonths(3).adddays(-1);  //本季度末

datetime startyear = new datetime(dt.year, 1, 1);  //本年年初

datetime endyear = new datetime(dt.year, 12, 31);  //本年年末至於昨天、明天、上週、上月、上季度、上年度等等,

var 上週一 = datetime.now.adddays(convert.toint32(1 - convert.toint32(datetime.now.dayofweek)) - 7);        //上週一

var 上周末 = datetime.now.adddays(convert.toint32(1 - convert.toint32(datetime.now.dayofweek)) - 7).adddays(6);     //上周末(星期日)//下週

var 下周一 = datetime.now.adddays(convert.toint32(1 - convert.toint32(datetime.now.dayofweek)) + 7);        //下周一

var 下週末 = datetime.now.adddays(convert.toint32(1 - convert.toint32(datetime.now.dayofweek)) + 7).adddays(6); //下週末 

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();//上個月1號

datetime.parse(datetime.now.tostring("yyyy-mm-01")).adddays(-1).toshortdatestring();//上個月最後一天

datetime.parse(datetime.now.tostring("yyyy-mm-01")).addmonths(1).toshortdatestring();// 下個月1號

datetime.parse(datetime.now.tostring("yyyy-mm-01")).addmonths(2).adddays(-1).toshortdatestring();//下下月最後一天

datetime.now.adddays(7).toshortdatestring();//7天後

datetime.now.adddays(-7).toshortdatestring();//7天前

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)).adddays(1 - datetime.now.day);//本季度第一天; 

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)).adddays(1 - datetime.now.day);// 上季度第一天

datetime.now.addmonths(0 - ((datetime.now.month - 1) % 3)).adddays(1 - datetime.now.day).adddays(-1).toshortdatestring();// 上季度最後一天

時間問題3

問題及 檔名稱 main.cpp 作 者 李磊濤 版 本 號 v1.0 問題描述 輸入時間輸出時間。輸入描述 時間時分秒和要增加的時分秒。程式輸出 時間時分秒。includeusing namespace std class time void time add a sec void time ad...

oracle 時間問題

今天用到oracle時間比較,看到網上也有很多,自己就總結了下啊 1,比較兩個時間的大小 也可以是字串表示時間 select from table where to date 欄位1,yyyy mm dd hh24 mi ss to date 2012 2 8 yyyy mm dd hh24 mi ...

時間問題datetimetostr

時間問題datetimetostr delphi windows sdk api datetimetostr 日期 轉換後的函式為2006 11 08 下午 03 02 06 我想要的格式為2006 11 08 15 02 06 當然不是通過formatdatetime函式 為什麼我用datetim...