From cc7c2094568ea8f9d1697da5ed0a2c759ca81abd Mon Sep 17 00:00:00 2001
From: yinbentan <yinbentan@live.com>
Date: 星期五, 30 八月 2024 17:18:30 +0800
Subject: [PATCH] 方法修改,修改薪资列表,添加分页查询

---
 pkg/timex/timex.go |   58 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 36 insertions(+), 22 deletions(-)

diff --git a/pkg/timex/timex.go b/pkg/timex/timex.go
index 58ae6b0..5fcb5dc 100644
--- a/pkg/timex/timex.go
+++ b/pkg/timex/timex.go
@@ -1,7 +1,6 @@
 package timex
 
 import (
-	"silkserver/constvar"
 	"time"
 )
 
@@ -58,29 +57,44 @@
 	return time.Now().Format(timeLayout)
 }
 
-func NextDateTimestamp(base time.Time, unit constvar.InspectCycleUnit, cycle int) time.Time {
-	var t time.Time
-	switch unit {
-	case constvar.InspectCycleUnitWeek:
-		t = base.AddDate(0, 0, cycle*7)
-	case constvar.InspectCycleUnitMonth:
-		t = base.AddDate(0, cycle, 0)
-	case constvar.InspectCycleUnitDay:
-		t = base.AddDate(0, 0, cycle)
+func GetDate(year int, month time.Month) int {
+	day := 0
+	if month == time.February {
+		if (year%4 == 0 && year%100 != 0) || year%400 == 0 {
+			day = 29
+		} else {
+			day = 28
+		}
+	} else {
+		if month == time.January || month == time.March || month == time.May || month == time.July ||
+			month == time.August || month == time.October || month == time.December {
+			day = 31
+		} else {
+			day = 30
+		}
 	}
-	return time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, t.Location())
+	return day
 }
 
-// Cycle2Seconds 鍛ㄦ湡鎹㈢畻鎴愮鏁�
-func Cycle2Seconds(unit constvar.InspectCycleUnit, cycle int) int {
-	var s int
-	switch unit {
-	case constvar.InspectCycleUnitWeek:
-		s = cycle * 86400 * 7
-	case constvar.InspectCycleUnitMonth:
-		s = cycle * 86400 * 30
-	case constvar.InspectCycleUnitDay:
-		s = cycle * 86400
+// 鑾峰彇涓�涓湀鍐呯殑鎵�鏈夋槦鏈�
+func GetWeeksOfMonth(year int, month time.Month) [][]time.Time {
+	firstDay := time.Date(year, month, 1, 0, 0, 0, 0, time.Local)
+	lastDay := firstDay.AddDate(0, 1, -1) // 涓嬩竴涓湀鐨勭涓�澶╁噺涓�锛屽緱鍒版湰鏈堢殑鏈�鍚庝竴澶�
+
+	weeks := make([][]time.Time, 0)
+	currentWeek := make([]time.Time, 0)
+	current := firstDay
+
+	for !current.After(lastDay) {
+		currentWeek = append(currentWeek, current)
+		current = current.AddDate(0, 0, 1) // 澧炲姞涓�澶�
+
+		// 濡傛灉褰撳墠鍛ㄥ凡缁忔弧浜�7澶╋紝鎴栬�呭凡缁忓埌浜嗘湀鐨勬渶鍚庝竴澶╋紝鍒欎繚瀛樿繖涓�鍛�
+		if len(currentWeek) == 7 || current.After(lastDay) {
+			weeks = append(weeks, currentWeek)
+			currentWeek = make([]time.Time, 0) // 閲嶇疆褰撳墠鍛�
+		}
 	}
-	return s
+
+	return weeks
 }

--
Gitblit v1.8.0