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); //本月月末
//datetime 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); //本年年末
至於昨天、明天、上週、上月、上季度、上年度等等,只要adddays()、addmonths()、addyears()這幾種方法組合一下就可以了。
c#中datetime的使用
//如本年度銷售額、本季度利潤、本月新增客戶
//c#裡內建的datetime基本上都可以實現這些功能,巧用datetime會使你處理這些事來變輕鬆多了
//今天
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();
C 自然周,月,季度計算。
判斷時間是否和伺服器時間是一天 public static bool judgetimeistoday datetime cs 計算當前季度多少天 public static intdatediff 計算當前月有多少天 public static intgetmonthdays 計算本週的周一日期 ...
JS獲取周 月 季度日期
效果 用於獲取日期本週 本月 本季度的js2 author guanghe3 檔案引用方法 4 5 獲取本週 本季度 本月 上月的開始日期 結束日期6 7var now new date 當前日期 8var nowdayofweek now.getday 今天本週的第幾天 9var nowday n...
JAVA獲取目標日期對應的年,月,季度,周時間類
好記性不如爛筆頭 public class timeutil catch exception e return c.gettime 獲得目標日期的,週日 return public date getcurrentweekdayendtime string targetdate catch excep...