Доброго времени, у меня вопрос по парсину поля даты с html страницы в json-формате.
Отправляю через html страницу данные -
<td><input type="text" v-model="row.lastname" /></td>
<td><input type="date" v-model="row.date1" /></td> // это календарное поле, он передает год-месяц-день : 2020-06-01
<td><input type="date" v-model="row.date2" /></td>
<td><input type="number" v-model="row.material" /></td>
потом от этой формы принимаю данные.
Есть структура -
type SearchBy struct {
LastName string json:"lastname"
Date1 time.Time json:"date1"
Date2 time.Time json:"date2"
Material int json:"material"
}
и хочу их прочесть -
body, err := ioutil.ReadAll(r.Body)
if err != nil {
log.Fatal(err)
}
searchdata := []SearchBy{}
const layoutISO = "2006-01-02"
json.Unmarshal(body, &searchdata)
fmt.Printf("test searchData %s", body) // Тут все выводиться
fmt.Println("\nall of the data search", searchdata)
// в этом цикле я разными путями хочу прочесть поля date1 и date2, но пока ничего не помогает, в лучшем случае могу увидеть 0001-01-01 00:00:00 +0000 UTC или 0001-01-01 (применяя const layoutISO = "2006-01-02")
for i, v := range searchdata {
fmt.Println(i, v)
fmt.Println(v.Date1.Format(layoutISO))
fmt.Println("\t", v.Date1.Format(time.RFC3339))
}
Пробовал и разные библиотеки применять, дело в том, что когда в отдельном примере кода пишешь json строку в нужном виде, это работает, а при чтении с *http.Request тело запроса парсится, а при передаче в структуру выдает уже вот такой формат 0001-01-01 00:00:00 +0000 UTC
Есть предложения, как это сделать?