leon 1 anno fa
parent
commit
b38240a3ee

+ 1 - 0
src/features/trackTimeDuration/components/WeekCalendar.tsx

@@ -105,6 +105,7 @@ const WeekCalendar = memo((props: { isFastSleep: boolean }) => {
         var list: any = []
         var offset = 12 * 3600 * 1000 + pageIndex * pageSize * 24 * 3600 * 1000
         if (!props.isFastSleep) {
+            timestamp = TimeFormatter.getSundayTimestamp()
             offset = pageIndex * pageSize * 24 * 3600 * 1000
         }
         for (var i = 0; i < pageSize; i++) {

+ 7 - 7
src/features/trackTimeDuration/components/WeekCalendarItem.tsx

@@ -199,13 +199,13 @@ export default function WeekCalendarItem(props: { data: any, isCurrentWeek: bool
                     <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(94 * 6) + ''), opacity: props.isCurrentWeek && isTop() && weekIndex() == 6 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(6)}</Text>
                 </View> :
                     <View className="chart_top_week">
-                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(0) + ''), opacity: props.isCurrentWeek  && weekIndex() == 0 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(1)}</Text>
-                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(94 * 1) + ''), opacity: props.isCurrentWeek  && weekIndex() == 1 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(2)}</Text>
-                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(94 * 2) + ''), opacity: props.isCurrentWeek  && weekIndex() == 2 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(3)}</Text>
-                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(94 * 3) + ''), opacity: props.isCurrentWeek  && weekIndex() == 3 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(4)}</Text>
-                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(94 * 4) + ''), opacity: props.isCurrentWeek  && weekIndex() == 4 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(5)}</Text>
-                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(94 * 5) + ''), opacity: props.isCurrentWeek  && weekIndex() == 5 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(6)}</Text>
-                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(94 * 6) + ''), opacity: props.isCurrentWeek  && weekIndex() == 6 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(0)}</Text>
+                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(0) + ''), opacity: props.isCurrentWeek  && weekIndex() == 6 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(0)}</Text>
+                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(94 * 1) + ''), opacity: props.isCurrentWeek  && weekIndex() == 0 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(1)}</Text>
+                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(94 * 2) + ''), opacity: props.isCurrentWeek  && weekIndex() == 1 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(2)}</Text>
+                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(94 * 3) + ''), opacity: props.isCurrentWeek  && weekIndex() == 2 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(3)}</Text>
+                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(94 * 4) + ''), opacity: props.isCurrentWeek  && weekIndex() == 3 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(4)}</Text>
+                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(94 * 5) + ''), opacity: props.isCurrentWeek  && weekIndex() == 4 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(5)}</Text>
+                        <Text className="chart_week_text" style={{ left: parseInt(rpxToPx(94 * 6) + ''), opacity: props.isCurrentWeek  && weekIndex() == 5 ? 1 : 0.4 }}>{TimeFormatter.getDayOfWeek(6)}</Text>
                     </View>
             }
 

+ 17 - 0
src/utils/time_format.ts

@@ -722,6 +722,23 @@ export class TimeFormatter {
     return timestamp
   }
 
+  static getSundayTimestamp = () => {
+    const now = new Date();
+    const currentDay = now.getDay(); // Get the current day of the week (0 for Sunday, 1 for Monday, etc.)
+    const startOfWeek = new Date(now); // Create a new Date object with the current date and time
+
+    // Calculate the difference in milliseconds to the beginning of the week
+    const diffToMonday = currentDay * 24 * 60 * 60 * 1000; // Subtract 1 day worth of milliseconds for each day after Monday
+
+    startOfWeek.setTime(now.getTime() - diffToMonday); // Set the time to the beginning of the week (Monday at 00:00:00)
+    startOfWeek.setHours(0)
+    startOfWeek.setMinutes(0)
+    startOfWeek.setSeconds(0)
+    startOfWeek.setMilliseconds(0)
+    const timestamp = startOfWeek.getTime(); // Get the timestamp in milliseconds
+    return timestamp
+  }
+
   //hh:mm转换成秒数
   static timestringToSeconds = (strTime: string) => {
     var list = strTime.split(':')