1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| package main import ( "time" "fmt" "gopkg.in/inconshreveable/log15.v2" )
var conversion = map[string]string{ "B": "January", "b": "Jan", "m": "01", "A": "Monday", "a": "Mon", "d": "02", "H": "15", "I": "03", "M": "04", "S": "05", "Y": "2006", "y": "06", "p": "PM", "Z": "MST", "z": "-0700", "%": "%", }
func strftime(format string, t time.Time) string { layout := "" length := len(format) for i := 0; i < length; i++ { if format[i] == '%' && i <= length-2 { if layoutCmd, ok := conversion[format[i+1:i+2]]; ok { layout = layout + layoutCmd i++ continue } } layout = layout + format[i:i+1] } return t.Format(layout) }
func main() { t := time.Now() fmt.Println("t:", t) datetime := strftime("%Y-%m-%d_%H", t)
fmt.Println("datetime:", datetime) }
|