From 96d1d92ac7fa65583e8230248130801ed76517a3 Mon Sep 17 00:00:00 2001 From: charlie <3140647@qq.com> Date: Sun, 27 Mar 2022 10:21:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E6=9C=9F=E6=97=B6=E9=97=B4=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dateconv/date_test.go | 12 ++++++++++++ dateconv/dateconv.go | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 dateconv/date_test.go create mode 100644 dateconv/dateconv.go diff --git a/dateconv/date_test.go b/dateconv/date_test.go new file mode 100644 index 0000000..cd35329 --- /dev/null +++ b/dateconv/date_test.go @@ -0,0 +1,12 @@ +package dateconv_test + +import ( + "testing" + + "github.com/charlienet/go-mixed/dateconv" +) + +func TestToday(t *testing.T) { + today := dateconv.Today() + t.Log(dateconv.TimeToString(&today)) +} diff --git a/dateconv/dateconv.go b/dateconv/dateconv.go new file mode 100644 index 0000000..ea43de1 --- /dev/null +++ b/dateconv/dateconv.go @@ -0,0 +1,43 @@ +package dateconv + +import ( + "time" +) + +const ( + layoutDate = "2006-01-02" + layoutTime = "2006-01-02 15:04:05" + layoutChineseDate = "2006年01月02日" + layoutChineseTime = "2006年01月02日 15:04:05" +) + +func Today() time.Time { + t := time.Now() + year, month, day := t.Date() + return time.Date(year, month, day, 0, 0, 0, 0, t.Location()) +} + +// 日期转换为整数(如:20211222) +func DateToInt(date time.Time) int { + return date.Year()*10000 + int(date.Month())*100 + date.Day() +} + +// 日期转换为字符串 +func DateToString(date *time.Time) string { return formatTime(date, layoutDate) } + +// 时间转换为字符串 +func TimeToString(date *time.Time) string { return formatTime(date, layoutTime) } + +// 日期转换为中文 +func DateToChinese(t *time.Time) string { return formatTime(t, layoutChineseDate) } + +// 时间转换为中文 +func TimeToChinese(t *time.Time) string { return formatTime(t, layoutChineseTime) } + +func formatTime(t *time.Time, f string) string { + if t == nil || t.IsZero() { + return "" + } + + return t.Format(f) +}