Estoy intentando formatear la hora actual usando este formato yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Eso está produciendo:
yyyyMMddHHmmss
¿Alguna sugerencia?
Estoy intentando formatear la hora actual usando este formato yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Eso está produciendo:
yyyyMMddHHmmss
¿Alguna sugerencia?
Respuestas:
Utilizar
fmt.Println(t.Format("20060102150405"))
como Go usa las siguientes constantes para formatear la fecha, consulte aquí
const (
stdLongMonth = "January"
stdMonth = "Jan"
stdNumMonth = "1"
stdZeroMonth = "01"
stdLongWeekDay = "Monday"
stdWeekDay = "Mon"
stdDay = "2"
stdUnderDay = "_2"
stdZeroDay = "02"
stdHour = "15"
stdHour12 = "3"
stdZeroHour12 = "03"
stdMinute = "4"
stdZeroMinute = "04"
stdSecond = "5"
stdZeroSecond = "05"
stdLongYear = "2006"
stdYear = "06"
stdPM = "PM"
stdpm = "pm"
stdTZ = "MST"
stdISO8601TZ = "Z0700" // prints Z for UTC
stdISO8601ColonTZ = "Z07:00" // prints Z for UTC
stdNumTZ = "-0700" // always numeric
stdNumShortTZ = "-07" // always numeric
stdNumColonTZ = "-07:00" // always numeric
)
Esta pregunta aparece en la parte superior de la búsqueda de Google cuando encuentra "formato de hora actual de golang", por lo que, para todas las personas que quieran usar otro formato, recuerde que siempre puede llamar a:
t := time.Now()
t.Year()
t.Month()
t.Day()
t.Hour()
t.Minute()
t.Second()
Por ejemplo, para obtener la fecha y hora actual como "AAAA-MM-DDTHH: MM: SS" (por ejemplo, 2019-01-22T12: 40: 55), puede utilizar estos métodos con fmt.Sprintf:
t := time.Now()
formatted := fmt.Sprintf("%d-%02d-%02dT%02d:%02d:%02d",
t.Year(), t.Month(), t.Day(),
t.Hour(), t.Minute(), t.Second())
Como siempre, recuerde que los documentos son la mejor fuente de aprendizaje: https://golang.org/pkg/time/
El paquete de tiempo en Golang tiene algunos métodos que vale la pena buscar.
formato func (hora)
func (t Hora) Formato (cadena de diseño) cadena El formato devuelve una representación textual del valor de tiempo formateado de acuerdo con el diseño, que define el formato mostrando cómo el tiempo de referencia,
Lunes 2 de enero 15:04:05 -0700 MST 2006 se mostraría si fuera el valor; sirve como ejemplo del resultado deseado. A continuación, se aplicarán las mismas reglas de visualización al valor de tiempo. Los diseños predefinidos ANSIC, UnixDate, RFC3339 y otros describen representaciones estándar y convenientes del tiempo de referencia. Para obtener más información sobre los formatos y la definición del tiempo de referencia, consulte la documentación de ANSIC y las demás constantes definidas por este paquete.
Fuente ( http://golang.org/pkg/time/#Time.Format )
También encontré un ejemplo de cómo definir el diseño ( http://golang.org/src/pkg/time/example_test.go )
func ExampleTime_Format() {
// layout shows by example how the reference time should be represented.
const layout = "Jan 2, 2006 at 3:04pm (MST)"
t := time.Date(2009, time.November, 10, 15, 0, 0, 0, time.Local)
fmt.Println(t.Format(layout))
fmt.Println(t.UTC().Format(layout))
// Output:
// Nov 10, 2009 at 3:00pm (PST)
// Nov 10, 2009 at 11:00pm (UTC)
}