इस मामले की और पड़ताल की। वर्तमान में, किसी भी दिनांक/समय प्रकार के लिए GORM में timestamp with time zone
को छोड़कर कोई समर्थन नहीं है
कोड का यह भाग dialect_postgres.go से देखें :
case reflect.Struct:
if _, ok := dataValue.Interface().(time.Time); ok {
sqlType = "timestamp with time zone"
}
तो मूल रूप से मुझे आपके लिए दो विकल्प दिखाई देते हैं:
या तो उपयोग करें varchar(10)
डीबी में, और string
गो में, बस इसे "9:00 अपराह्न" के रूप में सहेजें (जहां 10 कुछ संख्या है जो आपको उपयुक्त बनाती है)
या timestamp with time zone
. का उपयोग करें DB में, time.Time
गो में, और अपने दिनांक भाग को एक स्थिर दिनांक, 01/01/1970 के रूप में प्रारूपित करें, उदाहरण के लिए:
time.Parse("2006-01-02 3:04PM", "1970-01-01 9:00PM")
उस स्थिति में आपको अपनी प्रस्तुति में दिनांक भाग को छोड़ना होगा, लेकिन यदि आप दिनांक सीमा के अनुसार चयन करने की योजना बना रहे हैं, तो यह आपके लिए बेहतर काम कर सकता है।