stringToNullTimeHookFunc 转换字符串到 NullTime 类型
(layout string)
| 195 | |
| 196 | // stringToNullTimeHookFunc 转换字符串到 NullTime 类型 |
| 197 | func stringToNullTimeHookFunc(layout string) mapstructure.DecodeHookFunc { |
| 198 | return func(f reflect.Kind, t reflect.Kind, data interface{}) (interface{}, error) { |
| 199 | if f != reflect.String || t != reflect.Struct { |
| 200 | return data, nil |
| 201 | } |
| 202 | |
| 203 | str := data.(string) |
| 204 | if str == "" { |
| 205 | return sql.NullTime{Valid: false}, nil |
| 206 | } |
| 207 | |
| 208 | parsedTime, err := time.Parse(layout, str) |
| 209 | if err != nil { |
| 210 | return nil, err |
| 211 | } |
| 212 | return sql.NullTime{Time: parsedTime, Valid: true}, nil |
| 213 | } |
| 214 | } |
no outgoing calls
no test coverage detected