From cc0d6d7880bcfd529222fd67e83e640cc4545b4a Mon Sep 17 00:00:00 2001 From: John Date: Wed, 11 Jul 2018 17:41:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90gtime=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- g/os/gtime/gtime_format.go | 2 +- geg/os/gtime/gtime_format.go | 9 ++++++--- geg/os/gtime/gtime_layout.go | 21 +++++++++++++++++++++ 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 geg/os/gtime/gtime_layout.go diff --git a/g/os/gtime/gtime_format.go b/g/os/gtime/gtime_format.go index f47533160..d2185737a 100644 --- a/g/os/gtime/gtime_format.go +++ b/g/os/gtime/gtime_format.go @@ -113,7 +113,7 @@ func (t *Time) Format(format string) string { s += r } } else { - s += f + s += string(format[i]) } } i++ diff --git a/geg/os/gtime/gtime_format.go b/geg/os/gtime/gtime_format.go index abef37f9e..6791929dd 100644 --- a/geg/os/gtime/gtime_format.go +++ b/geg/os/gtime/gtime_format.go @@ -7,9 +7,12 @@ import ( func main() { formats := []string{ - "Y-m-d H:i:s", - "2006-01-02T15:04:05Z07:00", - "2006-01-02T15:04:05.999999999Z07:00", + "Y-m-d H:i:s.u", + "D M d H:i:s e O Y", + // 可以使用转义字符转移有意义的格式字母 + "T\\i\\m\\e \\i\\s: h:i:s a", + // format格式不支持标准库格式混合,相互隔离 + "2006-01-02T15:04:05.000000000Z07:00", } t := gtime.Now() for _, f := range formats { diff --git a/geg/os/gtime/gtime_layout.go b/geg/os/gtime/gtime_layout.go new file mode 100644 index 000000000..055e83026 --- /dev/null +++ b/geg/os/gtime/gtime_layout.go @@ -0,0 +1,21 @@ +package main + +import ( + "fmt" + "gitee.com/johng/gf/g/os/gtime" +) + +func main() { + formats := []string{ + "2006-01-02 15:04:05.000", + "Mon Jan _2 15:04:05 MST 2006", + "Time is: 03:04:05 PM", + "2006-01-02T15:04:05.000000000Z07:00 MST", + } + t := gtime.Now() + for _, f := range formats { + fmt.Println(f) + fmt.Println(t.Layout(f)) + fmt.Println() + } +}