|
|
@@ -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
|
|
|
-}
|
|
|
+}
|