github.com/JohanShen/go-utils@v1.1.4-0.20201117124024-901319a2b2a0/utils/time_format.go (about)

     1  package utils
     2  
     3  import (
     4  	"strings"
     5  	"time"
     6  )
     7  
     8  type (
     9  	XTime time.Time
    10  )
    11  
    12  var mapping map[string]string
    13  
    14  func init() {
    15  	mapping = make(map[string]string)
    16  	mapping["%i"] = "4"
    17  	mapping["%I"] = "04"
    18  
    19  	mapping["%m"] = "1"
    20  	mapping["%d"] = "2"
    21  	mapping["%h"] = "3"
    22  	mapping["%s"] = "5"
    23  	mapping["%y"] = "06"
    24  	mapping["%M"] = "01"
    25  	mapping["%D"] = "02"
    26  	mapping["%H"] = "15"
    27  	mapping["%S"] = "05"
    28  	mapping["%Y"] = "2006"
    29  }
    30  
    31  // 用 %y %M %d 的格式来格式化时间
    32  func (self XTime) Format(format string) string {
    33  
    34  	for key, val := range mapping {
    35  		format = strings.ReplaceAll(format, key, val)
    36  	}
    37  	return time.Time(self).Format(format)
    38  }