Kaynağa Gözat

Merge branch 'v2' of https://git.i2erp.cn/packages/light-apiengine into v2

double.huang 5 yıl önce
ebeveyn
işleme
44d42ad531
2 değiştirilmiş dosya ile 13 ekleme ve 7 silme
  1. 2 2
      engine/system_init.go
  2. 11 5
      models/LocalTime.go

+ 2 - 2
engine/system_init.go

@@ -213,8 +213,8 @@ func initOrmEngine(orm *xorm.Engine, driverName string) {
 	//设置时区
 	orm.DatabaseTZ = time.Local // 必须
 	orm.TZLocation = time.Local // 必须
-	time.LoadLocation("Asia/Shanghai")
-
+	// time.LoadLocation("Asia/Shanghai")
+	time.FixedZone("CST", 8*3600)
 	orm.StartFSWatcher()
 
 	orm.ShowSQL(true)

+ 11 - 5
models/LocalTime.go

@@ -22,7 +22,7 @@ func NowLocal() LocalTime {
 
 func (t *LocalTime) UnmarshalJSON(data []byte) error {
 	if data[0] == '"' && data[len(data)-1] == '"' {
-		data = data[1: len(data)-1]
+		data = data[1 : len(data)-1]
 	}
 
 	dataStr := strings.TrimSpace(string(data))
@@ -80,7 +80,7 @@ func (t LocalTime) String() string {
 // 数据库解析到对象时调用
 func (t *LocalTime) FromDB(data []byte) error {
 	if data[0] == '"' && data[len(data)-1] == '"' {
-		data = data[1: len(data)-1]
+		data = data[1 : len(data)-1]
 	}
 
 	dataStr := strings.TrimSpace(string(data))
@@ -99,7 +99,8 @@ func (t *LocalTime) FromDB(data []byte) error {
 
 	if len(dataStr) > 19 {
 		dataStr = dataStr[0:19]
-		if dataStr == "0000-00-00 00:00:00" {
+		if strings.Index(dataStr, "000") == 0 {
+			// if dataStr == "0000-00-00 00:00:00" {
 			dataStr = zeroTime
 		}
 	} else if len(dataStr) == 10 {
@@ -119,7 +120,12 @@ func (t *LocalTime) FromDB(data []byte) error {
 
 // 对象解析到数据库时调用
 func (t LocalTime) ToDB() ([]byte, error) {
+	dataStr := time.Time(t).Format(timeFormat)
+	if strings.Index(dataStr, "000") == 0 {
+		// if dataStr == "0000-00-00 00:00:00" {
+		dataStr = zeroTime
+	}
 	b := make([]byte, 0, len(timeFormat)+2)
-	b = append(b, []byte(time.Time(t).Format(timeFormat))...)
+	b = append(b, []byte(dataStr)...)
 	return b, nil
-}
+}