2016-04-23 18 views

Antwort

4

Sie könnten das Parse und Format des Zeitpakets verwenden, um es in das gewünschte Textformat zu konvertieren. Beide benötigen eine Referenzzeit (2006-01-02 15:04:05) in dem Format, das Sie als Parameter benötigen, wodurch das Format relativ einfach zu verstehen ist.

dtstr1 := "2010-01-23 11:44:20" 
dt,_ := time.Parse("2006-01-02 15:04:05", dtstr1) 

dtstr2 := dt.Format("Jan 2 '06 at 15:04") 

A playground to test with.

1

Eine Möglichkeit ist, das Zeitpaketes der Parse und Format-Funktionen zu verwenden,
oder eine andere Art und Weise ist Ihre eigene Formatter Funktion wie folgt zu schreiben:

package main 

import (
    "bytes" 
    "fmt" 
    "time" 
) 

//2010-01-23 11:44:20 to Jan 23 '10 at 11:44 
func FormatDateTime(t time.Time) string { 
    var buffer bytes.Buffer 
    buffer.WriteString(t.Month().String()[:3]) 
    buffer.WriteString(fmt.Sprintf(" %2d '%2d at %2d:%2d", t.Day(), t.Year()%100, t.Hour(), t.Minute())) 
    return buffer.String() 
} 

func main() { 
    t := time.Now() 
    str := FormatDateTime(t) 
    fmt.Println(str) //Apr 23 '16 at 11:50 
} 
Verwandte Themen