GORM PostgreSQL 获取没有时区的日期列
GORM PostgreSQL getting date column without timezone
我正在学习 golang atm,目前我正在使用 gorm 尝试 select 查询获取日期列,但它保持 returning '2020-01-10T00:00:00Z ',如何摆脱时区?
我试过将日期更改为 time.Time 或字符串,但没有任何效果,这是代码
type Price struct {
DateStay time.Time `json:"date"`
Price int `json:"price"`
}
更新:
这是我正在使用的代码
var price []models.Price
err = models.DB.Raw(`
SELECT P.date_stay, P.price
FROM prices p
WHERE P.room_type_id = ?
`, roomTypeId).Scan(&price).Error
我尝试 P.date_stay::date, date(P.date_stay) 查询但没有任何效果
我希望它 return '2020-01-10'
最好使用 time.Time 作为日期类型。
您可以通过将格式设置为所需的日期格式来格式化日期结果。
(dd-mm-yyyy 或您喜欢的任何顺序)。
然后您可以使用 time.Parse(format, date)
格式化值
format := "2000-01-13"
formattedDate, err := time.Parse(format, price.DateStay)
假设价格是您 select 查询的结果。
如果你的时间是 time.Time 你可以尝试使用 price.DateStay.Format(format)
我正在学习 golang atm,目前我正在使用 gorm 尝试 select 查询获取日期列,但它保持 returning '2020-01-10T00:00:00Z ',如何摆脱时区?
我试过将日期更改为 time.Time 或字符串,但没有任何效果,这是代码
type Price struct {
DateStay time.Time `json:"date"`
Price int `json:"price"`
}
更新:
这是我正在使用的代码
var price []models.Price
err = models.DB.Raw(`
SELECT P.date_stay, P.price
FROM prices p
WHERE P.room_type_id = ?
`, roomTypeId).Scan(&price).Error
我尝试 P.date_stay::date, date(P.date_stay) 查询但没有任何效果
我希望它 return '2020-01-10'
最好使用 time.Time 作为日期类型。
您可以通过将格式设置为所需的日期格式来格式化日期结果。 (dd-mm-yyyy 或您喜欢的任何顺序)。
然后您可以使用 time.Parse(format, date)
格式化值format := "2000-01-13"
formattedDate, err := time.Parse(format, price.DateStay)
假设价格是您 select 查询的结果。
如果你的时间是 time.Time 你可以尝试使用 price.DateStay.Format(format)