Robię ten prosty serwer WWW, który może hostować mojego bloga, ale cokolwiek robię; Nie mogę wykonać prawidłowego sformatowanego czasu w moim html/template.Wykonaj sformatowany czas w plasterku za pomocą szablonu/html/template
Oto, co zrobić:
Utworzyłem ten struct:
type Blogpost struct {
Title string
Content string
Date time.Time
}
Następna w kolejce mam utworzony ten mały func że pobiera blogposts z analogicznym tytule/pochodzi z AppEngine magazynu danych i powrócić że jako plaster:
func GetBlogs(r *http.Request, max int) []Blogpost {
c := appengine.NewContext(r)
q := datastore.NewQuery("Blogpost").Order("-Date").Limit(max)
bp := make([]Blogpost, 0, max)
q.GetAll(c, &bp)
return bp
}
Wreszcie w blogHandler tworzę kawałek na podstawie uzyskanych danych z AppEngine magazynu danych przy użyciu:
blogs := GetBlogs(r, 10)
Teraz, kiedy mogę wykonać mój szablon o nazwie blog tak, daty blogów są analizowane jako daty domyślnych:
blog.Execute(w, blogs) // gives dates like: 2013-09-03 16:06:48 +0000 UTC
Tak, mnie, jako n00b Golang że jestem, by powiedzieć, że funkcja jak poniżej dałby mi wynik chcę
blogs[0].Date = blogs[0].Date.Format("02-01-2006 15:04:05") // Would return like 03-09-2013 16:06:48, at least when you print the formatted date that is.
jednak, że wyniki w konflikt typu oczywiście, co starałem się rozwiązać za pomocą:
blogs[0].Date, _ = time.Parse("02-01-2006 15:04:05", blogs[0].Date.Format("02-01-2006 15:04:05")) // returns once again: 2013-09-03 16:06:48 +0000 UTC
Jest to prawdopodobnie jedna z rzeczy, którą ponownie nadzorowałem, ale po prostu nie widzę, jak mogę zmienić czas. Czas Wpisz kawałek lub przynajmniej wydrukuj go w żądanym formacie.
Mam wrażenie, że to pytanie ma coś wspólnego z używaniem interfejsu jako argumentu. Wykonaj zamiast tego użycie struktury. Ale nie jest jeszcze w 100% pewne. – Dani