Quellcode durchsuchen

首页-打开PDF时间格式BUG

liyijie vor 2 Jahren
Ursprung
Commit
f1206b53f3
1 geänderte Dateien mit 28 neuen und 15 gelöschten Zeilen
  1. 28 15
      PDF Office/DataConvert/StringToDateConvert.cs

+ 28 - 15
PDF Office/DataConvert/StringToDateConvert.cs

@@ -66,26 +66,31 @@ namespace PDF_Master.DataConvert
             string tag = "";
             var last = (DateTime)value;
             var now = System.DateTime.Now;
-            TimeSpan ts = (now - last).Duration();
-
-            //同一周
-            bool isSameWeek = !(ts.TotalDays >= 7 || (DateTime.Compare(now, last) > 0 ? (now.DayOfWeek < last.DayOfWeek) : (now.DayOfWeek > last.DayOfWeek)));
+            //时间间隔
+            //TimeSpan ts = (now - last).Duration();
+            //7天之内
+            bool isSameWeek = false;
+            //bool isSameWeek = !(ts.TotalDays >= 7 || (DateTime.Compare(now, last) > 0 ? (now.DayOfWeek < last.DayOfWeek) : (now.DayOfWeek > last.DayOfWeek)));
+            isSameWeek = WeekSpan(now, last);
             //同年同月
             if (now.Year == last.Year)
-            {
-                //同日
-                if (now.Day == last.Day)
-                {
-                    tag = "Today";
-                }
-                {
-                    if (isSameWeek)
-                        tag = "week";
-                }
+            { //同日
+                if (now.Month == last.Month)
+                {
+                    if (now.Day == last.Day)
+                    {
+                        tag = "Today";
+                    }
+                    else if (isSameWeek)
+                    {
+                        tag = "week";
+                    }
+                }
+
             }
 
             string result = "";
-            switch(tag)
+            switch (tag)
             {
                 case "Today":
                     result = "Today, " + last.Hour + ":" + last.Minute;
@@ -109,6 +114,14 @@ namespace PDF_Master.DataConvert
         public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
         {
             throw new NotImplementedException();
+        }
+
+        public bool WeekSpan(DateTime now, DateTime last)
+        {
+            int ts = DateTime.Compare(now, last) > 0 ? (now.Day - last.Day) : (last.Day - now.Day);
+            int a = DateTime.Compare(now, last) > 0 ? (now.DayOfWeek - last.DayOfWeek) : (last.DayOfWeek - now.DayOfWeek);
+            if (ts == a) { return true; }
+            return false;
         }
     }
 }