diff --git a/g/os/gtime/gtime_format.go b/g/os/gtime/gtime_format.go index 2df378f1f..0194628cb 100644 --- a/g/os/gtime/gtime_format.go +++ b/g/os/gtime/gtime_format.go @@ -49,6 +49,7 @@ var ( 'i': "04", // 有前导零的分钟数, 00 到 59 's': "05", // 秒数,有前导零, 00 到 59 'u': "=u=.000", // 毫秒(3位) + 'U':"", // 将t表示为Unix时间,即从时间点January 1, 1970 UTC到时间点t所经过的时间(单位秒) // ================== 时区 ================== 'O': "-0700", // 与UTC相差的小时数, 例如:+0200 @@ -92,6 +93,7 @@ func (t *Time) Format(format string) string { case 'W': buffer.WriteString(strconv.Itoa(t.WeeksOfYear())) case 'z': buffer.WriteString(strconv.Itoa(t.DayOfYear())) case 't': buffer.WriteString(strconv.Itoa(t.DaysInMonth())) + case 'U': buffer.WriteString(strconv.FormatInt(t.Unix(),10)) default: if runes[i] > 255 { buffer.WriteRune(runes[i]) diff --git a/g/os/gtime/gtime_z_unit_format_test.go b/g/os/gtime/gtime_z_unit_format_test.go index d4abb1b11..e56b11b5d 100644 --- a/g/os/gtime/gtime_z_unit_format_test.go +++ b/g/os/gtime/gtime_z_unit_format_test.go @@ -42,6 +42,8 @@ func Test_Format(t *testing.T) { } gtest.Assert(timeTemp2.Format("Y-n-j G:i:s"), "2006-1-2 3:04:05") + gtest.Assert(timeTemp2.Format("U"), "1136142245") + // 测试数字型的星期 times := []map[string]string{ {"k": "2019-04-22", "f": "w", "r": "1"},