time.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package utils
  2. import (
  3. "time"
  4. )
  5. const (
  6. timeDateLayout = "2006-01-02"
  7. timeSecondLayout = "2006-01-02 15:04:05"
  8. timeMinuteLayout = "2006-01-02 15:04"
  9. timeLayout = "15:04"
  10. )
  11. func FormatDateTime(t *time.Time) string {
  12. if t == nil {
  13. return ""
  14. }
  15. return t.Format(timeDateLayout)
  16. }
  17. func ParseDateTime(dateTime string) (*time.Time, error) {
  18. t, err := time.ParseInLocation(timeDateLayout, dateTime, time.Local)
  19. if err != nil {
  20. return nil, err
  21. }
  22. return &t, nil
  23. }
  24. func FormatMinuteTime(t *time.Time) string {
  25. if t == nil {
  26. return ""
  27. }
  28. return t.Format(timeMinuteLayout)
  29. }
  30. func ParseMinuteTime(minuteTime string) (*time.Time, error) {
  31. t, err := time.ParseInLocation(timeMinuteLayout, minuteTime, time.Local)
  32. if err != nil {
  33. return nil, err
  34. }
  35. return &t, nil
  36. }
  37. func FormatSecondTime(t *time.Time) string {
  38. if t == nil {
  39. return ""
  40. }
  41. return t.Format(timeSecondLayout)
  42. }
  43. func ParseSecondTime(secondTime string) (*time.Time, error) {
  44. t, err := time.ParseInLocation(timeSecondLayout, secondTime, time.Local)
  45. if err != nil {
  46. return nil, err
  47. }
  48. return &t, nil
  49. }
  50. func FormatTime(t *time.Time) string {
  51. if t == nil {
  52. return ""
  53. }
  54. return t.Format(timeLayout)
  55. }
  56. func ParseTime(dateTime string) (*time.Time, error) {
  57. dateTime = "9999-01-01 " + dateTime
  58. t, err := time.ParseInLocation(timeMinuteLayout, dateTime, time.Local)
  59. if err != nil {
  60. return nil, err
  61. }
  62. return &t, nil
  63. }
  64. var WeekDayMap = map[string]string{
  65. "Monday": "星期一",
  66. "Tuesday": "星期二",
  67. "Wednesday": "星期三",
  68. "Thursday": "星期四",
  69. "Friday": "星期五",
  70. "Saturday": "星期六",
  71. "Sunday": "星期日",
  72. }
  73. func ParseChWeekDay(t *time.Time) string {
  74. return WeekDayMap[t.Weekday().String()]
  75. }