Attempts to detect the correct Go time layout format for parsing a given time string.
It analyzes the input time string and returns a corresponding time format layout that can be used with time.Parse()
or time.Format()
.
go get -u github.com/nodivbyzero/go-anydate
Calculating time based on current time
import "github.com/nodivbyzero/go-anydate"
str := "2024-11-14 22:43:57"
got, err := DetectFormat(str) // got = 2006-01-02 15:04:05
date, err := time.Parse(got, str)
"2024" | "2006"
"20241124" | "20060102"
"20241125132431" | "20060102150405"
"2024-11" | "2006-01"
"2024/11" | "2006/01"
"2024.11" | "2006.01"
"2024-11-26" | "2006-01-02"
"2024/11/26" | "2006/01/02"
"2024.11.26" | "2006.01.02"
"2024-9-24" | "2006-1-02"
"2024/9/24" | "2006/1/02"
"2024.9.24" | "2006.1.02"
"2024-9-3" | "2006-1-2"
"2024/9/3" | "2006/1/2"
"2024.9.3" | "2006.1.2"
"03-14-2024" | "01-02-2006"
"03/14/2024" | "01/02/2006"
"03.14.2024" | "01.02.2006"
"03-14-24" | "01-02-06"
"03/14/24" | "01/02/06"
"03.14.24" | "01.02.06"
"3-31-2024" | "1-02-2006"
"3/31/2024" | "1/02/2006"
"3.31.2024" | "1.02.2006"
"8-1-24" | "1-2-06"
"8/1/24" | "1/2/06"
"8.1.24" | "1.2.06"
"2024-11-14 22:43" | "2006-01-02 15:04"
"2024/11/14 22:43" | "2006/01/02 15:04"
"2024.11.14 22:43" | "2006.01.02 15:04"
"2024-11-14 22:43:57" | "2006-01-02 15:04:05"
"2024/11/14 22:43:57" | "2006/01/02 15:04:05"
"2024.11.14 22:43:57" | "2006.01.02 15:04:05"
"2024-11-14 10:43 AM" | "2006-01-02 15:04 PM"
"2024-11-14 10:43AM" | "2006-01-02 15:04PM"
"2024/11/14 10:43 AM" | "2006/01/02 15:04 PM"
"2024.11.14 10:43 AM" | "2006.01.02 15:04 PM"
"2024-11-14 12:43 PM" | "2006-01-02 15:04 PM"
"2024/11/14 12:43 PM" | "2006/01/02 15:04 PM"
"2024.11.14 12:43 PM" | "2006.01.02 15:04 PM"
"2024-11-14 10:43 am" | "2006-01-02 15:04 pm"
"2024/11/14 10:43 am" | "2006/01/02 15:04 pm"
"2024.11.14 10:43 am" | "2006.01.02 15:04 pm"
"2024-11-19 12:43:57 PM" | "2006-01-02 15:04:05 PM"
"2024/11/19 12:43:57 PM" | "2006/01/02 15:04:05 PM"
"2024.11.19 12:43:57 PM" | "2006.01.02 15:04:05 PM"
"2024-1-3 22:43" | "2006-1-2 15:04"
"2024/1/3 22:43" | "2006/1/2 15:04"
"2024.1.3 22:43" | "2006.1.2 15:04"
"2024-1-3 12:43 PM" | "2006-1-2 15:04 PM"
"2024/1/3 12:43 PM" | "2006/1/2 15:04 PM"
"2024.1.3 12:43 PM" | "2006.1.2 15:04 PM"
"2024-1-3 12:43 pm" | "2006-1-2 15:04 pm"
"2024/1/3 12:43 pm" | "2006/1/2 15:04 pm"
"2024.1.3 12:43 pm" | "2006.1.2 15:04 pm"
"2024-1-3 22:43:48" | "2006-1-2 15:04:05"
"2024/1/3 22:43:48" | "2006/1/2 15:04:05"
"2024.1.3 22:43:48" | "2006.1.2 15:04:05"
"2024-11-14 12:39:22" | "2006-01-02 15:04:05"
"2024/11/14 12:39:22" | "2006/01/02 15:04:05"
"2024.11.14 12:39:22" | "2006.01.02 15:04:05"
"03-14-2024 22:43" | "01-02-2006 15:04"
"03/14/2024 22:43" | "01/02/2006 15:04"
"03.14.2024 22:43" | "01.02.2006 15:04"
"03-14-2024 12:43 PM" | "01-02-2006 15:04 PM"
"03/14/2024 12:43 PM" | "01/02/2006 15:04 PM"
"03.14.2024 12:43 PM" | "01.02.2006 15:04 PM"
"03-14-2024 10:43 am" | "01-02-2006 15:04 pm"
"03/14/2024 10:43 am" | "01/02/2006 15:04 pm"
"03.14.2024 10:43 am" | "01.02.2006 15:04 pm"
"03-14-2024 22:43:39" | "01-02-2006 15:04:05"
"03/14/2024 22:43:39" | "01/02/2006 15:04:05"
"03.14.2024 22:43:39" | "01.02.2006 15:04:05"
"03-19-2024 10:43:39 AM" | "01-02-2006 15:04:05 PM"
"03/19/2024 10:43:39 AM" | "01/02/2006 15:04:05 PM"
"03.19.2024 10:43:39 AM" | "01.02.2006 15:04:05 PM"
"3-31-2024 22:43" | "1-02-2006 15:04"
"3/31/2024 22:43" | "1/02/2006 15:04"
"3.31.2024 22:43" | "1.02.2006 15:04"
"3-31-2024 22:43:41" | "1-02-2006 15:04:05"
"3/31/2024 22:43:41" | "1/02/2006 15:04:05"
"3.31.2024 22:43:41" | "1.02.2006 15:04:05"
"3-1-2024 22:43" | "1-2-2006 15:04"
"3/1/2024 22:43" | "1/2/2006 15:04"
"3.1.2024 22:43" | "1.2.2006 15:04"
"3-1-2024 22:43:42" | "1-2-2006 15:04:05"
"3/1/2024 22:43:42" | "1/2/2006 15:04:05"
"3.1.2024 22:43:42" | "1.2.2006 15:04:05"
"8-1-24 22:43" | "1-2-06 15:04"
"8/1/24 22:43" | "1/2/06 15:04"
"8.1.24 22:43" | "1.2.06 15:04"
"8-1-24 22:43:44" | "1-2-06 15:04:05"
"8/1/24 22:43:44" | "1/2/06 15:04:05"
"8.1.24 22:43:44" | "1.2.06 15:04:05"
"2024-11-14T12:40:15" | "2006-01-02T15:04:05"
"2024/11/14T12:40:15" | "2006/01/02T15:04:05"
"2024.11.14T12:40:15" | "2006.01.02T15:04:05"
"2024-11-14T13:57:23.988" | "2006-01-02T15:04:05.999"
"2024-11-14T13:57:23.988132" | "2006-01-02T15:04:05.999999"
"2024-11-14T13:57:23.988132456" | "2006-01-02T15:04:05.999999999"
"2024-11-14T13:57:23.900" | "2006-01-02T15:04:05.000"
"2024-11-14T13:57:23.988000" | "2006-01-02T15:04:05.000000"
"2024-11-14T13:57:23.988132000" | "2006-01-02T15:04:05.000000000"
"2024-11-14T16:15:09Z" | "2006-01-02T15:04:05Z"
"2024/11/19 16:14:52.3276369" | "2006/01/02 15:04:05.9999999"
"2024-Nov-19" | "2006-Jan-02"
"2024-November-19" | "2006-January-02"
"November 22, 2024" | "January 02, 2006"
"Nov 22, 2024" | "Jan 02, 2006"
"Nov 2, 2024" | "Jan 2, 2006"
"Nov 22, 24" | "Jan 02, 06"
"Nov 2, 24" | "Jan 2, 06"
"Nov. 22, 2024" | "Jan. 02, 2006"
"Nov. 22, 24" | "Jan. 02, 06"
"Nov. 2, 24" | "Jan. 2, 06"
"22 November 2024" | "02 January 2006"
"2 November 2024" | "2 January 2006"
"22 Nov 2024" | "02 Jan 2006"
"2 Nov 2024" | "2 Jan 2006"
"22 Nov 24" | "02 Jan 06"
"2 Nov 24" | "2 Jan 06"
"22/Nov/2024" | "02/Jan/2006"
"2/Nov/2024" | "2/Jan/2006"
"November 23, 2024 12:49" | "January 02, 2006 15:04"
"November 23, 2024 12:49:03" | "January 02, 2006 15:04:05"
"November 3, 2024 12:49" | "January 2, 2006 15:04"
"November 3, 2024 12:49:03" | "January 2, 2006 15:04:05"
"November 23, 2009 2:07 PM" | "January 02, 2006 3:04 PM"
"November 23, 2009 2:07:19 PM" | "January 02, 2006 3:04:05 PM"
"November 3, 2009 2:07 PM" | "January 2, 2006 3:04 PM"
"November 3, 2009 2:07:19 PM" | "January 2, 2006 3:04:05 PM"
"November 23, 2024, 12:49:03" | "January 02, 2006, 15:04:05"
"November 23, 2024 2:33pm" | "January 02, 2006 3:04pm"
"Nov 23 3:01pm" | "Jan 02 3:04pm"
"Nov 23 15:04:05.988" | "Jan 02 15:04:05.999"
"Nov 23 15:04:05.988132" | "Jan 02 15:04:05.999999"
"Nov 23 15:04:05.988132456" | "Jan 02 15:04:05.999999999"
"23 Nov 2024, 15:18" | "02 Jan 2006, 15:04"
"3 Nov 2024, 15:18" | "2 Jan 2006, 15:04"
"23 Nov 2024 16:59" | "02 Jan 2006 15:04"
"3 Nov 2024 16:59" | "2 Jan 2006 15:04"
"23 Nov 2024 17:01:40.162" | "02 Jan 2006 15:04:05.999"
"23/Nov/2024 17:03:05" | "02/Jan/2006 15:04:05"
"23.Nov.2024 17:03:05" | "02.Jan.2006 15:04:05"
"23-Nov-2024 17:03:05" | "02-Jan-2006 15:04:05"
"Sat Nov 23 17:10:06 2024" | "Mon Jan 02 15:04:05 2006"
"Tue Nov 5 08:04:06 2024" | "Mon Jan 2 15:04:05 2006"
"Tue, 26 Nov 2024 15:04:05" | "Mon, 02 Jan 2006 15:04:05"
"Tuesday Nov 5 08:26:06 2024" | "Monday Jan 2 15:04:05 2006"
"Tuesday, 26 Nov 2024 08:26:05" | "Monday, 02 Jan 2006 15:04:05"
"Tue 5 Nov 2024 08:29:06" | "Mon 2 Jan 2006 15:04:05"
"Tue 26 Nov 2024 08:29:06" | "Mon 02 Jan 2006 15:04:05"
"Tuesday, 26-Nov-24 08:35:05" | "Monday, 02-Jan-06 15:04:05"
"2024-11-26T11:48:26.371Z" | "2006-01-02T15:04:05.999Z"
"2024-11-26T11:45:25Z" | "2006-01-02T15:04:05Z"
"2024-11-26T12:08:05+0900" | "2006-01-02T15:04:05-0700"
"2024-11-26T12:21:05-0700" | "2006-01-02T15:04:05-0700"
"Tuesday, November 26 2024" | "Monday, January 02 2006"
"Tuesday November 26 2024" | "Monday January 02 2006"
"Tue, November 26 2024" | "Mon, January 02 2006"
"Tue November 26 2024" | "Mon January 02 2006"
"Sun, November 26" | "Mon, January 02"
"Sun November 26" | "Mon January 02"
"November 26" | "January 02"
"Nov 26" | "Jan 02"
"26 November" | "02 January"
"26 Nov" | "02 Jan"
"2024-11-27 09:33:51+09:00" | "2006-01-02 15:04:05-07:00"
"2025-11-27+09:00" | "2006-01-02-07:00"
"2024-11-26 10:00:43 +0700" | "2006-01-02 15:04:05 -0700"
"2024-11-27 10:04:44 +09:00" | "2006-01-02 15:04:05 -07:00"
"Wed, 27 Nov 2024 10:05:36 +0000" | "Mon, 02 Jan 2006 15:04:05 -0700"
"27/Nov/2024 15:04:05 -0700" | "02/Jan/2006 15:04:05 -0700"
"Wed, 27 Nov 2024 10:10:36 -0700" | "Mon, 02 Jan 2006 15:04:05 -0700"
"2024-11-27T08:15-08" | "2006-01-02T15:04-07"
"Wed Nov 27 10:19:05 -0700 2024" | "Mon Jan 02 15:04:05 -0700 2006"
"2024-11-27T10:26:09-09:00" | "2006-01-02T15:04:05-07:00"
"Thu Nov 28 11:37:05 MST 2024" | "Mon Jan 02 15:04:05 MST 2006"
"2024-11-28 12:07:00 UTC" | "2006-01-02 15:04:05 MST"
"Thursday, 28-Nov-24 12:11:05 MST" | "Monday, 02-Jan-06 15:04:05 MST"
"Thu, 28 Nov 2024 11:37:05 MST" | "Mon, 02 Jan 2006 15:04:05 MST"
"Thu 28 Nov 2024 12:17:09 PM UTC" | "Mon 02 Jan 2006 15:04:05 PM MST"
"Thursday November 28 2024 10:09am PST-08" | "Monday January 02 2006pm MST-07"
"Fri Nov 29 10:17:11 PST+0800 2024" | "Mon Jan 02 15:04:05 MST-0700
"2024-12-05 17:04:00 +0000 GMT" | "2006-01-02 15:04:05 -0700 MST"
"3:59PM" | "3:04PM"
"3-12-2024 1:12 PM" | "1-02-2006 3:04 PM"
"12/3/2024 1:19 PM" | "01/2/2006 3:04 PM"
"13:22:05.000" | "15:04:05.000"
"12/12/2024 13:24:59.3186369" | "01/02/2006 15:04:05.9999999"
"2024-12-12 13:26:59.257000000 +0000 UTC" | "2006-01-02:05.000000000 -0700 MST"
"Thu, 12 Dec 2024 13:29:13 +0200 (CEST)" | "Mon, 02 Jan 2006 15:04:05 (MST)"
"31-01-2024" | "02-01-2006"
"2024:12:31" | "2006:01:02"
"2024:12:31 16:01:51" | "2006:01:02 15:04:05"
"2024:12:31 16:03:51.3127369" | "2006:01:02 15:04:05.9999999"
"12:12:2024 16:27:09" | "01:02:2006 15:04:05"
"12/Dec/2024:16:36:17 -0700" | "02/Jan/2006:15:04:05 -0700"
"18:27:05,000" | "15:04:05,000"
"2024-12-14T12:49:09.99999999Z" | "2006-01-02T15:04:05.99999999Z"
"2024-12-14T12:59+0730" | "2006-01-02T15:04-0700"
"Sat, 14 Dec 2024 3:3:3 PST" | "Mon, 02 Jan 2006 3:4:5 MST"
Released under the MIT License.