1
0
mirror of https://github.com/astaxie/beego.git synced 2024-11-22 05:20:55 +00:00

Support precision

This commit is contained in:
Ming Deng 2020-08-24 14:44:35 +00:00
parent cceecad8c2
commit 1cb0ff560d
3 changed files with 67 additions and 58 deletions

View File

@ -1355,7 +1355,14 @@ setValue:
t time.Time
err error
)
if len(s) >= 19 {
if fi.timePrecision != nil && len(s) >= (20+*fi.timePrecision) {
layout := formatDateTime + "."
for i := 0; i < *fi.timePrecision; i++ {
layout += "0"
}
t, err = time.ParseInLocation(layout, s, tz)
} else if len(s) >= 19 {
s = s[:19]
t, err = time.ParseInLocation(formatDateTime, s, tz)
} else if len(s) >= 10 {

View File

@ -154,6 +154,7 @@ type DataNull struct {
Time time.Time `orm:"null;type(time)"`
Date time.Time `orm:"null;type(date)"`
DateTime time.Time `orm:"null;column(datetime)"`
DateTimePrecision time.Time `orm:"null;type(datetime);precision(4)"`
Byte byte `orm:"null"`
Rune rune `orm:"null"`
Int int `orm:"null"`
@ -303,6 +304,7 @@ type Post struct {
Content string `orm:"type(text)"`
Created time.Time `orm:"auto_now_add"`
Updated time.Time `orm:"auto_now"`
UpdatedPrecision time.Time `orm:"auto_now;type(datetime);precision(4)"`
Tags []*Tag `orm:"rel(m2m);rel_through(github.com/astaxie/beego/pkg/client/orm.PostTags)"`
}