|
@@ -1,10 +1,10 @@
|
|
|
package date
|
|
|
|
|
|
import (
|
|
|
- "time"
|
|
|
+ "database/sql/driver"
|
|
|
"errors"
|
|
|
"strings"
|
|
|
- "database/sql/driver"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
type Time time.Time
|
|
@@ -35,7 +35,7 @@ func (t *Time) UnmarshalJSON(value []byte) error {
|
|
|
if err != nil {
|
|
|
return err
|
|
|
}
|
|
|
- *t = Time(Time(tm).OfDate(1,time.January,1))
|
|
|
+ *t = Time(Time(tm).OfDate(1, time.January, 1))
|
|
|
return nil
|
|
|
}
|
|
|
|
|
@@ -54,11 +54,15 @@ func (t *Time) UnmarshalText(data []byte) error {
|
|
|
}
|
|
|
|
|
|
func (t Time) FromString(str string) Time {
|
|
|
+ return ParseTime(str)
|
|
|
+}
|
|
|
+
|
|
|
+func ParseTime(str string) Time {
|
|
|
tm, err := time.Parse(NormalTimeFormat, str)
|
|
|
if nil != err {
|
|
|
return Unix(0, 0).ToTime()
|
|
|
}
|
|
|
- return Time(Time(tm).OfDate(1,time.January,1))
|
|
|
+ return Time(Time(tm).OfDate(1, time.January, 1))
|
|
|
}
|
|
|
|
|
|
func (t Time) String() string {
|
|
@@ -92,7 +96,7 @@ func (t Time) AppendFormat(b []byte, layout string) []byte {
|
|
|
|
|
|
// 当前时间
|
|
|
func CurrentTime() Time {
|
|
|
- return Time(Time(time.Now()).OfDate(1,time.January,1))
|
|
|
+ return Time(Time(time.Now()).OfDate(1, time.January, 1))
|
|
|
}
|
|
|
|
|
|
// 构造date.Time
|
|
@@ -112,7 +116,7 @@ func (t Time) ToDate() Date {
|
|
|
|
|
|
// 转date.Time
|
|
|
func AsTime(tm time.Time) Time {
|
|
|
- return Time(Time(tm).OfDate(1,time.January,1))
|
|
|
+ return Time(Time(tm).OfDate(1, time.January, 1))
|
|
|
}
|
|
|
|
|
|
// 转time.Time
|
|
@@ -227,7 +231,7 @@ func (t Time) AddDate(years int, months int, days int) Datetime {
|
|
|
|
|
|
// 加时、分、秒
|
|
|
func (t Time) AddTime(hours int, minutes int, seconds int) Datetime {
|
|
|
- d := time.Duration(hours) * time.Hour + time.Duration(minutes) * time.Minute + time.Duration(seconds) * time.Second
|
|
|
+ d := time.Duration(hours)*time.Hour + time.Duration(minutes)*time.Minute + time.Duration(seconds)*time.Second
|
|
|
return t.Add(d)
|
|
|
}
|
|
|
|