add var 'e' of gtime.format

This commit is contained in:
jroam
2019-04-28 22:53:03 +08:00
parent a5b8e2aa2f
commit 6d7d8dec02
2 changed files with 22 additions and 7 deletions

View File

@ -12,6 +12,7 @@ import (
"github.com/gogf/gf/g/text/gstr"
"strconv"
"strings"
"time"
)
var (
@ -54,6 +55,7 @@ var (
'O': "-0700", // 与UTC相差的小时数, 例如:+0200
'P': "-07:00", // 与UTC的差别小时和分钟之间有冒号分隔, 例如:+02:00
'T': "MST", // 时区缩写, 例如UTCGMTCST //原来这里是MST会与php中的T获得的结果不一样。修改为CST时就保持一致
'e': "", // 时区缩写, 例如UTCGMTCST ,这与当前操作系统有关
// ================== 完整的日期/时间 ==================
'c': "2006-01-02T15:04:05-07:00", // ISO 8601 格式的日期例如2004-02-12T15:19:21+00:00
@ -174,6 +176,8 @@ func (t *Time) Format(format string) string {
buffer.WriteString(strconv.Itoa(dayOfYear(t)))
case 't':
buffer.WriteString(strconv.Itoa(daysInMonth(t)))
case 'e':
buffer.WriteString(zeroLocation())
default:
buffer.WriteString(result)
}
@ -240,11 +244,21 @@ func daysInMonth(t *Time) int {
// 获取时间点在本年内是第多少周
func weeksOfYear(t *Time) int {
_,nums:=t.ISOWeek()
_, nums := t.ISOWeek()
return nums
}
func zeroLocation() string {
location, err := time.LoadLocation("")
if err != nil {
return ""
}
return location.String()
}
//格式化使用标准库格式
func (t *Time) Layout(layout string) string {
return t.Time.Format(layout)

View File

@ -61,18 +61,19 @@ func Test_Format(t *testing.T) {
{"k": "2019-01-05", "f": "第z天", "r": "第4天"},
{"k": "2020-05-05", "f": "第z天", "r": "第125天"},
{"k": "2020-12-31", "f": "第z天", "r": "第365天"}, //润年
{"k": "2020-02-12", "f": "第z天", "r": "第42天"}, //润年
{"k": "2020-02-12", "f": "第z天", "r": "第42天"}, //润年
{"k": "2019-02-12", "f": "有t天", "r": "有28天"},
{"k": "2020-02-12", "f": "20.2有t天", "r": "20.2有29天"},
{"k": "2019-03-12", "f": "19.3有t天", "r": "19.3有31天"},
{"k": "2019-11-12", "f": "19.11有t天", "r": "19.11有30天"},
{"k": "2019-01-01", "f": "第W周", "r": "第1周"},
{"k": "2017-01-01", "f": "第W周", "r": "第52周"},//星期7
{"k": "2002-01-01", "f": "第W周为星期2", "r": "第1周为星期2"},//星期2
{"k": "2017-01-01", "f": "第W周", "r": "第52周"}, //星期7
{"k": "2002-01-01", "f": "第W周为星期2", "r": "第1周为星期2"}, //星期2
{"k": "2016-01-01", "f": "第W周为星期5", "r": "第53周为星期5"}, //星期5
{"k": "2014-01-01", "f": "第W周为星期3", "r": "第1周为星期3"}, //星期3
{"k": "2015-01-01", "f": "第W周为星期4", "r": "第1周为星期4"}, //星期4
{"k": "2015-01-01", "f": "时区T", "r": "时区PRC"}, //星期4
{"k": "2014-01-01", "f": "第W周为星期3", "r": "第1周为星期3"}, //星期3
{"k": "2015-01-01", "f": "第W周为星期4", "r": "第1周为星期4"}, //星期4
{"k": "2015-01-01", "f": "时区T", "r": "时区CST"},
{"k": "2015-01-01", "f": "时区e", "r": "时区UTC"},
}
for _, v := range times {