Kaynağa Gözat

:art: Improve database date filed sorting https://github.com/siyuan-note/siyuan/issues/12127

Daniel 11 ay önce
ebeveyn
işleme
e5078e8af5
1 değiştirilmiş dosya ile 16 ekleme ve 2 silme
  1. 16 2
      kernel/av/sort.go

+ 16 - 2
kernel/av/sort.go

@@ -19,6 +19,7 @@ package av
 import (
 	"bytes"
 	"strings"
+	"time"
 
 	"github.com/siyuan-note/siyuan/kernel/util"
 )
@@ -84,10 +85,23 @@ func (value *Value) Compare(other *Value, attrView *AttributeView) int {
 				if !other.Date.IsNotEmpty {
 					return -1
 				}
-				if value.Date.Content > other.Date.Content {
+
+				valueContent := value.Date.Content
+				otherContent := other.Date.Content
+
+				if value.Date.IsNotTime {
+					v := time.UnixMilli(valueContent)
+					valueContent = time.Date(v.Year(), v.Month(), v.Day(), 0, 0, 0, 0, time.Local).UnixMilli()
+				}
+				if other.Date.IsNotTime {
+					o := time.UnixMilli(otherContent)
+					otherContent = time.Date(o.Year(), o.Month(), o.Day(), 0, 0, 0, 0, time.Local).UnixMilli()
+				}
+
+				if valueContent > otherContent {
 					return 1
 				}
-				if value.Date.Content < other.Date.Content {
+				if valueContent < otherContent {
 					return -1
 				}
 				return 0