Fetch the repository succeeded.
package utils
import (
"fmt"
"strings"
"time"
)
// go implementation of strftime
// https://github.com/jehiah/go-strftime
// timeutil 时间、日期格式化输出
// taken from time/format.go
var conversion = map[string]string{
/*stdLongMonth */ "B": "January",
/*stdMonth */ "b": "Jan",
// stdNumMonth */ "m": "1",
/*stdZeroMonth */ "m": "01",
/*stdLongWeekDay */ "A": "Monday",
/*stdWeekDay */ "a": "Mon",
// stdDay */ "d": "2",
// stdUnderDay */ "d": "_2",
/*stdZeroDay */ "d": "02",
/*stdHour */ "H": "15",
// stdHour12 */ "I": "3",
/*stdZeroHour12 */ "I": "03",
// stdMinute */ "M": "4",
/*stdZeroMinute */ "M": "04",
// stdSecond */ "S": "5",
/*stdZeroSecond */ "S": "05",
/*stdLongYear */ "Y": "2006",
/*stdYear */ "y": "06",
/*stdPM */ "p": "PM",
// stdpm */ "p": "pm",
/*stdTZ */ "Z": "MST",
// stdISO8601TZ */ "z": "Z0700", // prints Z for UTC
// stdISO8601ColonTZ */ "z": "Z07:00", // prints Z for UTC
/*stdNumTZ */ "z": "-0700", // always numeric
// stdNumShortTZ */ "b": "-07", // always numeric
// stdNumColonTZ */ "b": "-07:00", // always numeric
}
// Format 格式化时间 %Y-%m-%d %H:%I:%S
// This is an alternative to time.Format because no one knows
// what date 040305 is supposed to create when used as a 'layout' string
// this takes standard strftime format options. For a complete list
// of format options see http://strftime.org/
func Format(format string, t time.Time) string {
formatChunks := strings.Split(format, "%")
var layout []string
for _, chunk := range formatChunks {
if len(chunk) == 0 {
continue
}
if layoutCmd, ok := conversion[chunk[0:1]]; ok {
layout = append(layout, layoutCmd)
if len(chunk) > 1 {
layout = append(layout, chunk[1:])
}
} else {
layout = append(layout, "%", chunk)
}
}
return t.Format(strings.Join(layout, ""))
}
func GetFormatRequestTime(time time.Time) string {
return fmt.Sprintf("%d.%d", time.Unix(), time.Nanosecond()/1e3)
}
func GetRequestCost(start, end time.Time) float64 {
return float64(end.Sub(start).Nanoseconds()/1e4) / 100.0
}
func FormatTimeByUnixSec(sec int64) string {
if sec <= 0 {
return ""
}
return Format("%Y-%m-%d %H:%I:%S", time.Unix(sec, 0))
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。