獲取 當前時間 本週,本月,本季度,本年的起始時間

2022-04-22 06:11:02 字數 2359 閱讀 4310

因為專案中需要用時間作為條件進行統計,所以需要獲取 當前時間 本週,本月,本季度,本年的起始時間,**如下

1

#region 獲取 本週、本月、本季度、本年 的開始時間或結束時間

2///

3///

統計時間型別

4///

5public

enum

enumtimetype612

///13

///獲取結束時間

14///

15///

week、month、season、year

16///

17///

18public

static datetime?gettimestartbytype(enumtimetype timetype, datetime now)

1928

else

2932

33break;34

case

enumtimetype.每月:

35 returntime = now.adddays(-now.day + 1

);36

break;37

case

enumtimetype.每季度:

38var time = now.addmonths(0 - ((now.month - 1) % 3

));39 returntime = time.adddays(-time.day + 1

);40

break;41

case

enumtimetype.每年:

42 returntime = now.adddays(-now.dayofyear + 1

);43

break;44

default:45

return

null;46

}47return datetime.parse(returntime.value.tostring("

yyyy/mm/dd 00:00:00

"));48}

4950

///51

///獲取結束時間

52///

53///

week、month、season、year

54///

55///

56public

static datetime?gettimeendbytype(enumtimetype timetype, datetime now)

5766

else

6770

break;71

case

enumtimetype.每月:

72 returntime = now.addmonths(1).adddays(-now.addmonths(1).day + 1).adddays(-1

);73

break;74

case

enumtimetype.每季度:

75var time = now.addmonths((3 - ((now.month - 1) % 3) - 1

));76 returntime = time.addmonths(1).adddays(-time.addmonths(1).day + 1).adddays(-1

);77

break;78

case

enumtimetype.每年:

79var time2 = now.addyears(1

);80 returntime = time2.adddays(-time2.dayofyear);

81break;82

default:83

return

null;84

}85return datetime.parse(returntime.value.tostring("

yyyy/mm/dd 23:59:59

"));86}

87#endregion

呼叫如下

1

void

main()

2

顯示結果

總結,計算這些時間間隔用到了微軟提供的dayofweek和dayofyear,真的是很方便了。

其中周比較 特殊一點,因為dayofweek獲取星期天的時候值為0,所以需要注意下一。

需要的人可自行獲取。

js獲取時間 本週 本季度 本月

獲取本週 本季度 本月 上月的開端日期 停止日期 var now new date 當前日期 var nowdayofweek now.getday 今天本週的第幾天 var nowday now.getdate 當前日 var nowmonth now.getmonth 當前月 var nowye...

js獲取時間 本週 本季度 本月

封裝成js檔案 var now new date 當前日期 var nowdayofweek now.getday 今天本週的第幾天 var nowday now.getdate 當前日 var nowmonth now.getmonth 當前月 var nowyear now.getyear 當前...

根據當前時間獲取,本週,本月,本季度等時間段

當前時間 1 d 本週周一 6 本週週日 1 本月月初 1 adddays 1 本月月末 本月月末 0 1 3 adddays 1 本季度初 3 adddays 1 本季度末 new11 本年年初 new 1231 本年年末 至於昨天 明天 上週 上月 上季度 上年度等等,只要adddays add...