Skip to content
Snippets Groups Projects
Commit 41f20fa5 authored by Jano Hendriks's avatar Jano Hendriks
Browse files

added function to parse date-time or date only time strings

parent 36a011b3
Branches
Tags
No related merge requests found
......@@ -17,6 +17,15 @@ func DateLayoutYearMonthDayTimeTZ() string {
return layout
}
func DateLayoutYearMonthDayTimeMillisecondTZ() string {
layout := "2006-01-02T15:04:05.000Z"
return layout
}
func DateLayoutDB() string {
return "2006-01-02 15:04:05.000000-07"
}
func DateLayoutYearMonthDayTimeTimezone() string {
layout := "2006-01-02 15:04:05-07:00"
return layout
......@@ -58,11 +67,11 @@ func DateLayoutTrimmed() string {
}
func DateDBFormattedString(date time.Time) string {
return date.Format("2006-01-02 15:04:05.000000-07")
return date.Format(DateLayoutDB())
}
func DateDBFormattedStringDateOnly(date time.Time) string {
return date.Format("2006-01-02")
return date.Format(DateLayoutYearMonthDay())
}
func CurrentLocation() *time.Location {
......@@ -116,3 +125,14 @@ func ConvertToNoDateTimeString(timeString *string) (*string, error) {
formattedTime := parsedTime.Format("15:04")
return &formattedTime, nil
}
// ParseTimeString attempts to parse the string as the default date-time format, or as a date only format
func ParseTimeString(timeString string) (time.Time, error) {
// Try using the default format
parsedTime, err := time.Parse(DateLayoutYearMonthDayTimeMillisecondTZ(), timeString)
if err != nil {
// Try using date only format
parsedTime, err = time.Parse(DateLayoutYearMonthDay(), timeString)
}
return parsedTime, err
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment