-24 :20-01-2038
-23 :20-02-2038
-22 :20-03-2038
-21 :20-04-2038
-20 :20-05-2038
-19 :20-06-2038
-18 :20-07-2038
-17 :20-08-2038
-16 :20-09-2038
-15 :20-10-2038
-14 :20-11-2038
-13 :20-12-2038
-12 :20-01-2039
-11 :20-02-2039
-10 :20-03-2039
-9 :20-04-2039
-8 :20-05-2039
-7 :20-06-2039
-6 :20-07-2039
-5 :20-08-2039
-4 :20-09-2039
-3 :20-10-2039
-2 :20-11-2039
-1 :20-12-2039
0 :20-01-2040
1 :20-02-2040
2 :20-03-2040
3 :20-04-2040
4 :20-05-2040
5 :20-06-2040
6 :20-07-2040
7 :20-08-2040
8 :20-09-2040
9 :20-10-2040
10 :20-11-2040
11 :20-12-2040
12 :20-01-2041
13 :20-02-2041
14 :20-03-2041
15 :20-04-2041
16 :20-05-2041
17 :20-06-2041
18 :20-07-2041
19 :20-08-2041
20 :20-09-2041
21 :20-10-2041
22 :20-11-2041
23 :20-12-2041
24 :20-01-2042

Testing adodb_date and adodb_mktime. version=0.35 PHP=5.5.9-1ubuntu4.26

adodb: 2026-04-14 10:24:41
php : 2026-04-14 11:24:41
error for %Y %m %x %X, strftime=2026 04 04/14/26 11:24:41, adodb=2026 04 04/14/26 10:24:41
error for %H %M S, strftime=11 24 S, adodb=10 24 S

Testing gregorian <=> julian conversion

-12219382800 -12219296400 15 Oct 1582, Fri=Fri
4 Oct 1582, Thu=Thu

Testing overflow

Testing 2-digit => 4-digit year conversion

Err 2-digit 1940
Err 2-digit 1950

Testing date formating

4:18:13 am AM 11 Sat April 4 4 04 04 18 11 Saturday 0 04 Apr 4 +0200 RFC2822 Sat, 11 Apr 1981 04:18:13 +0200 13 30 355803493 6 81 1981 100 7200 2003 Error date(): 355803493
  "date CEST 1981-04-11 04:18:13 am AM 11 Sat April 4 4 04 04 18 11 Saturday 0 04 Apr 4 +0200 RFC2822 Sat, 11 Apr 1981 04:18:13 +0200 13 30 355803493 6 81 1981 100 7200 2003" (date len=170)
  "date CEST 1981-04-11 03:18:13 am AM 11 Sat April 3 3 03 03 18 11 Saturday 0 04 Apr 4 +0100 RFC2822 Sat, 11 Apr 1981 03:18:13 +0100 13 30 355803493 6 81 1981 100 3600 2003" (adodb_date len=170)

7:33:55 am AM 08 Sun June 7 7 07 07 33 8 Sunday 1 06 Jun 6 +0200 RFC2822 Sun, 08 Jun 1980 07:33:55 +0200 55 30 329290435 0 80 1980 159 7200 2003 Error date(): 329290435
  "date CEST 1980-06-08 07:33:55 am AM 08 Sun June 7 7 07 07 33 8 Sunday 1 06 Jun 6 +0200 RFC2822 Sun, 08 Jun 1980 07:33:55 +0200 55 30 329290435 0 80 1980 159 7200 2003" (date len=166)
  "date CEST 1980-06-08 06:33:55 am AM 08 Sun June 6 6 06 06 33 8 Sunday 1 06 Jun 6 +0100 RFC2822 Sun, 08 Jun 1980 06:33:55 +0100 55 30 329290435 0 80 1980 159 3600 2003" (adodb_date len=166)

Error getdate() 329290435
Array ( [seconds] => 55 [minutes] => 33 [hours] => 7 [mday] => 8 [wday] => 0 [mon] => 6 [year] => 1980 [yday] => 159 [weekday] => Sunday [month] => June [0] => 329290435 )
Array ( [seconds] => 55 [minutes] => 33 [hours] => 6 [mday] => 8 [wday] => 0 [mon] => 6 [year] => 1980 [yday] => 159 [weekday] => Sunday [month] => June [0] => 329290435 )

8:41:24 pm PM 01 Sun June 6 18 06 18 41 1 Sunday 1 06 Jun 6 +0200 RFC2822 Sun, 01 Jun 1980 18:41:24 +0200 24 30 328725684 0 80 1980 152 7200 2003 Error date(): 328725684

  "date CEST 1980-06-01 18:41:24 pm PM 01 Sun June 6 18 06 18 41 1 Sunday 1 06 Jun 6 +0200 RFC2822 Sun, 01 Jun 1980 18:41:24 +0200 24 30 328725684 0 80 1980 152 7200 2003" (date len=167)
  "date CEST 1980-06-01 17:41:24 pm PM 01 Sun June 5 17 05 17 41 1 Sunday 1 06 Jun 6 +0100 RFC2822 Sun, 01 Jun 1980 17:41:24 +0100 24 30 328725684 0 80 1980 152 3600 2003" (adodb_date len=167)

Error getdate() 328725684
Array ( [seconds] => 24 [minutes] => 41 [hours] => 18 [mday] => 1 [wday] => 0 [mon] => 6 [year] => 1980 [yday] => 152 [weekday] => Sunday [month] => June [0] => 328725684 )
Array ( [seconds] => 24 [minutes] => 41 [hours] => 17 [mday] => 1 [wday] => 0 [mon] => 6 [year] => 1980 [yday] => 152 [weekday] => Sunday [month] => June [0] => 328725684 )

9:17:51 am AM 02 Tue June 9 9 09 09 17 2 Tuesday 0 06 Jun 6 +0200 RFC2822 Tue, 02 Jun 1981 09:17:51 +0200 51 30 360314271 2 81 1981 152 7200 2003 Error date(): 360314271

  "date CEST 1981-06-02 09:17:51 am AM 02 Tue June 9 9 09 09 17 2 Tuesday 0 06 Jun 6 +0200 RFC2822 Tue, 02 Jun 1981 09:17:51 +0200 51 30 360314271 2 81 1981 152 7200 2003" (date len=167)
  "date CEST 1981-06-02 08:17:51 am AM 02 Tue June 8 8 08 08 17 2 Tuesday 0 06 Jun 6 +0100 RFC2822 Tue, 02 Jun 1981 08:17:51 +0100 51 30 360314271 2 81 1981 152 3600 2003" (adodb_date len=167)

Error getdate() 360314271
Array ( [seconds] => 51 [minutes] => 17 [hours] => 9 [mday] => 2 [wday] => 2 [mon] => 6 [year] => 1981 [yday] => 152 [weekday] => Tuesday [month] => June [0] => 360314271 )
Array ( [seconds] => 51 [minutes] => 17 [hours] => 8 [mday] => 2 [wday] => 2 [mon] => 6 [year] => 1981 [yday] => 152 [weekday] => Tuesday [month] => June [0] => 360314271 )

7:56:22 pm PM 15 Sat August 5 17 05 17 56 15 Saturday 0 08 Aug 8 +0200 RFC2822 Sat, 15 Aug 1981 17:56:22 +0200 22 31 366738982 6 81 1981 226 7200 2003 Error date(): 366738982

  "date CEST 1981-08-15 17:56:22 pm PM 15 Sat August 5 17 05 17 56 15 Saturday 0 08 Aug 8 +0200 RFC2822 Sat, 15 Aug 1981 17:56:22 +0200 22 31 366738982 6 81 1981 226 7200 2003" (date len=172)
  "date CEST 1981-08-15 16:56:22 pm PM 15 Sat August 4 16 04 16 56 15 Saturday 0 08 Aug 8 +0100 RFC2822 Sat, 15 Aug 1981 16:56:22 +0100 22 31 366738982 6 81 1981 226 3600 2003" (adodb_date len=172)

Error getdate() 366738982
Array ( [seconds] => 22 [minutes] => 56 [hours] => 17 [mday] => 15 [wday] => 6 [mon] => 8 [year] => 1981 [yday] => 226 [weekday] => Saturday [month] => August [0] => 366738982 )
Array ( [seconds] => 22 [minutes] => 56 [hours] => 16 [mday] => 15 [wday] => 6 [mon] => 8 [year] => 1981 [yday] => 226 [weekday] => Saturday [month] => August [0] => 366738982 )

10:03:41 am AM 31 Sun May 10 10 10 10 03 31 Sunday 0 05 May 5 +0200 RFC2822 Sun, 31 May 1981 10:03:41 +0200 41 31 360144221 0 81 1981 150 7200 2003 Error date(): 360144221

  "date CEST 1981-05-31 10:03:41 am AM 31 Sun May 10 10 10 10 03 31 Sunday 0 05 May 5 +0200 RFC2822 Sun, 31 May 1981 10:03:41 +0200 41 31 360144221 0 81 1981 150 7200 2003" (date len=168)
  "date CEST 1981-05-31 09:03:41 am AM 31 Sun May 9 9 09 09 03 31 Sunday 0 05 May 5 +0100 RFC2822 Sun, 31 May 1981 09:03:41 +0100 41 31 360144221 0 81 1981 150 3600 2003" (adodb_date len=166)

Error getdate() 360144221
Array ( [seconds] => 41 [minutes] => 3 [hours] => 10 [mday] => 31 [wday] => 0 [mon] => 5 [year] => 1981 [yday] => 150 [weekday] => Sunday [month] => May [0] => 360144221 )
Array ( [seconds] => 41 [minutes] => 3 [hours] => 9 [mday] => 31 [wday] => 0 [mon] => 5 [year] => 1981 [yday] => 150 [weekday] => Sunday [month] => May [0] => 360144221 )

1:25:37 pm PM 22 Tue July 9 21 09 21 25 22 Tuesday 1 07 Jul 7 +0200 RFC2822 Tue, 22 Jul 1980 21:25:37 +0200 37 31 333141937 2 80 1980 203 7200 2003 Error date(): 333141937

  "date CEST 1980-07-22 21:25:37 pm PM 22 Tue July 9 21 09 21 25 22 Tuesday 1 07 Jul 7 +0200 RFC2822 Tue, 22 Jul 1980 21:25:37 +0200 37 31 333141937 2 80 1980 203 7200 2003" (date len=169)
  "date CEST 1980-07-22 20:25:37 pm PM 22 Tue July 8 20 08 20 25 22 Tuesday 1 07 Jul 7 +0100 RFC2822 Tue, 22 Jul 1980 20:25:37 +0100 37 31 333141937 2 80 1980 203 3600 2003" (adodb_date len=169)

Error getdate() 333141937
Array ( [seconds] => 37 [minutes] => 25 [hours] => 21 [mday] => 22 [wday] => 2 [mon] => 7 [year] => 1980 [yday] => 203 [weekday] => Tuesday [month] => July [0] => 333141937 )
Array ( [seconds] => 37 [minutes] => 25 [hours] => 20 [mday] => 22 [wday] => 2 [mon] => 7 [year] => 1980 [yday] => 203 [weekday] => Tuesday [month] => July [0] => 333141937 )

2:53:11 pm PM 13 Sun April 10 22 10 22 53 13 Sunday 1 04 Apr 4 +0200 RFC2822 Sun, 13 Apr 1980 22:53:11 +0200 11 30 324507191 0 80 1980 103 7200 2003 Error date(): 324507191

  "date CEST 1980-04-13 22:53:11 pm PM 13 Sun April 10 22 10 22 53 13 Sunday 1 04 Apr 4 +0200 RFC2822 Sun, 13 Apr 1980 22:53:11 +0200 11 30 324507191 0 80 1980 103 7200 2003" (date len=170)
  "date CEST 1980-04-13 21:53:11 pm PM 13 Sun April 9 21 09 21 53 13 Sunday 1 04 Apr 4 +0100 RFC2822 Sun, 13 Apr 1980 21:53:11 +0100 11 30 324507191 0 80 1980 103 3600 2003" (adodb_date len=169)

Error getdate() 324507191
Array ( [seconds] => 11 [minutes] => 53 [hours] => 22 [mday] => 13 [wday] => 0 [mon] => 4 [year] => 1980 [yday] => 103 [weekday] => Sunday [month] => April [0] => 324507191 )
Array ( [seconds] => 11 [minutes] => 53 [hours] => 21 [mday] => 13 [wday] => 0 [mon] => 4 [year] => 1980 [yday] => 103 [weekday] => Sunday [month] => April [0] => 324507191 )

7:46:54 am AM 16 Sat May 7 7 07 07 46 16 Saturday 0 05 May 5 +0200 RFC2822 Sat, 16 May 1981 07:46:54 +0200 54 31 358840014 6 81 1981 135 7200 2003 Error date(): 358840014

  "date CEST 1981-05-16 07:46:54 am AM 16 Sat May 7 7 07 07 46 16 Saturday 0 05 May 5 +0200 RFC2822 Sat, 16 May 1981 07:46:54 +0200 54 31 358840014 6 81 1981 135 7200 2003" (date len=168)
  "date CEST 1981-05-16 06:46:54 am AM 16 Sat May 6 6 06 06 46 16 Saturday 0 05 May 5 +0100 RFC2822 Sat, 16 May 1981 06:46:54 +0100 54 31 358840014 6 81 1981 135 3600 2003" (adodb_date len=168)

Error getdate() 358840014
Array ( [seconds] => 54 [minutes] => 46 [hours] => 7 [mday] => 16 [wday] => 6 [mon] => 5 [year] => 1981 [yday] => 135 [weekday] => Saturday [month] => May [0] => 358840014 )
Array ( [seconds] => 54 [minutes] => 46 [hours] => 6 [mday] => 16 [wday] => 6 [mon] => 5 [year] => 1981 [yday] => 135 [weekday] => Saturday [month] => May [0] => 358840014 )

10:00:46 am AM 14 Sat June 10 10 10 10 00 14 Saturday 1 06 Jun 6 +0200 RFC2822 Sat, 14 Jun 1980 10:00:46 +0200 46 30 329817646 6 80 1980 165 7200 2003 Error date(): 329817646

  "date CEST 1980-06-14 10:00:46 am AM 14 Sat June 10 10 10 10 00 14 Saturday 1 06 Jun 6 +0200 RFC2822 Sat, 14 Jun 1980 10:00:46 +0200 46 30 329817646 6 80 1980 165 7200 2003" (date len=171)
  "date CEST 1980-06-14 09:00:46 am AM 14 Sat June 9 9 09 09 00 14 Saturday 1 06 Jun 6 +0100 RFC2822 Sat, 14 Jun 1980 09:00:46 +0100 46 30 329817646 6 80 1980 165 3600 2003" (adodb_date len=169)

Error getdate() 329817646
Array ( [seconds] => 46 [minutes] => 0 [hours] => 10 [mday] => 14 [wday] => 6 [mon] => 6 [year] => 1980 [yday] => 165 [weekday] => Saturday [month] => June [0] => 329817646 )
Array ( [seconds] => 46 [minutes] => 0 [hours] => 9 [mday] => 14 [wday] => 6 [mon] => 6 [year] => 1980 [yday] => 165 [weekday] => Saturday [month] => June [0] => 329817646 )

9:33:38 pm PM 16 Mon June 7 19 07 19 33 16 Monday 1 06 Jun 6 +0200 RFC2822 Mon, 16 Jun 1980 19:33:38 +0200 38 30 330024818 1 80 1980 167 7200 2003 Error date(): 330024818

  "date CEST 1980-06-16 19:33:38 pm PM 16 Mon June 7 19 07 19 33 16 Monday 1 06 Jun 6 +0200 RFC2822 Mon, 16 Jun 1980 19:33:38 +0200 38 30 330024818 1 80 1980 167 7200 2003" (date len=168)
  "date CEST 1980-06-16 18:33:38 pm PM 16 Mon June 6 18 06 18 33 16 Monday 1 06 Jun 6 +0100 RFC2822 Mon, 16 Jun 1980 18:33:38 +0100 38 30 330024818 1 80 1980 167 3600 2003" (adodb_date len=168)

Error getdate() 330024818
Array ( [seconds] => 38 [minutes] => 33 [hours] => 19 [mday] => 16 [wday] => 1 [mon] => 6 [year] => 1980 [yday] => 167 [weekday] => Monday [month] => June [0] => 330024818 )
Array ( [seconds] => 38 [minutes] => 33 [hours] => 18 [mday] => 16 [wday] => 1 [mon] => 6 [year] => 1980 [yday] => 167 [weekday] => Monday [month] => June [0] => 330024818 )

20:26:35 pm PM 24 Sat May 8 20 08 20 26 24 Saturday 1 05 May 5 +0200 RFC2822 Sat, 24 May 1980 20:26:35 +0200 35 31 328040795 6 80 1980 144 7200 2003 Error date(): 328040795

  "date CEST 1980-05-24 20:26:35 pm PM 24 Sat May 8 20 08 20 26 24 Saturday 1 05 May 5 +0200 RFC2822 Sat, 24 May 1980 20:26:35 +0200 35 31 328040795 6 80 1980 144 7200 2003" (date len=169)
  "date CEST 1980-05-24 19:26:35 pm PM 24 Sat May 7 19 07 19 26 24 Saturday 1 05 May 5 +0100 RFC2822 Sat, 24 May 1980 19:26:35 +0100 35 31 328040795 6 80 1980 144 3600 2003" (adodb_date len=169)

Error getdate() 328040795
Array ( [seconds] => 35 [minutes] => 26 [hours] => 20 [mday] => 24 [wday] => 6 [mon] => 5 [year] => 1980 [yday] => 144 [weekday] => Saturday [month] => May [0] => 328040795 )
Array ( [seconds] => 35 [minutes] => 26 [hours] => 19 [mday] => 24 [wday] => 6 [mon] => 5 [year] => 1980 [yday] => 144 [weekday] => Saturday [month] => May [0] => 328040795 )

2:17:38 am AM 22 Tue April 2 2 02 02 17 22 Tuesday 1 04 Apr 4 +0200 RFC2822 Tue, 22 Apr 1980 02:17:38 +0200 38 30 325210658 2 80 1980 112 7200 2003 Error date(): 325210658

  "date CEST 1980-04-22 02:17:38 am AM 22 Tue April 2 2 02 02 17 22 Tuesday 1 04 Apr 4 +0200 RFC2822 Tue, 22 Apr 1980 02:17:38 +0200 38 30 325210658 2 80 1980 112 7200 2003" (date len=169)
  "date CEST 1980-04-22 01:17:38 am AM 22 Tue April 1 1 01 01 17 22 Tuesday 1 04 Apr 4 +0100 RFC2822 Tue, 22 Apr 1980 01:17:38 +0100 38 30 325210658 2 80 1980 112 3600 2003" (adodb_date len=169)

6:22:54 pm PM 31 Fri July 4 16 04 16 22 31 Friday 0 07 Jul 7 +0200 RFC2822 Fri, 31 Jul 1981 16:22:54 +0200 54 31 365437374 5 81 1981 211 7200 2003 Error date(): 365437374
  "date CEST 1981-07-31 16:22:54 pm PM 31 Fri July 4 16 04 16 22 31 Friday 0 07 Jul 7 +0200 RFC2822 Fri, 31 Jul 1981 16:22:54 +0200 54 31 365437374 5 81 1981 211 7200 2003" (date len=168)
  "date CEST 1981-07-31 15:22:54 pm PM 31 Fri July 3 15 03 15 22 31 Friday 0 07 Jul 7 +0100 RFC2822 Fri, 31 Jul 1981 15:22:54 +0100 54 31 365437374 5 81 1981 211 3600 2003" (adodb_date len=168)

Error getdate() 365437374
Array ( [seconds] => 54 [minutes] => 22 [hours] => 16 [mday] => 31 [wday] => 5 [mon] => 7 [year] => 1981 [yday] => 211 [weekday] => Friday [month] => July [0] => 365437374 )
Array ( [seconds] => 54 [minutes] => 22 [hours] => 15 [mday] => 31 [wday] => 5 [mon] => 7 [year] => 1981 [yday] => 211 [weekday] => Friday [month] => July [0] => 365437374 )

3:49:19 pm PM 26 Tue April 1 13 01 13 49 26 Tuesday 0 04 Apr 4 +0200 RFC2822 Tue, 26 Apr 1983 13:49:19 +0200 19 30 420205759 2 83 1983 115 7200 2003 Error date(): 420205759

  "date CEST 1983-04-26 13:49:19 pm PM 26 Tue April 1 13 01 13 49 26 Tuesday 0 04 Apr 4 +0200 RFC2822 Tue, 26 Apr 1983 13:49:19 +0200 19 30 420205759 2 83 1983 115 7200 2003" (date len=170)
  "date CEST 1983-04-26 12:49:19 pm PM 26 Tue April 12 12 12 12 49 26 Tuesday 0 04 Apr 4 +0100 RFC2822 Tue, 26 Apr 1983 12:49:19 +0100 19 30 420205759 2 83 1983 115 3600 2003" (adodb_date len=171)

Error getdate() 420205759
Array ( [seconds] => 19 [minutes] => 49 [hours] => 13 [mday] => 26 [wday] => 2 [mon] => 4 [year] => 1983 [yday] => 115 [weekday] => Tuesday [month] => April [0] => 420205759 )
Array ( [seconds] => 19 [minutes] => 49 [hours] => 12 [mday] => 26 [wday] => 2 [mon] => 4 [year] => 1983 [yday] => 115 [weekday] => Tuesday [month] => April [0] => 420205759 )

3:36:34 pm PM 19 Thu June 11 23 11 23 36 19 Thursday 1 06 Jun 6 +0200 RFC2822 Thu, 19 Jun 1980 23:36:34 +0200 34 30 330298594 4 80 1980 170 7200 2003 Error date(): 330298594

  "date CEST 1980-06-19 23:36:34 pm PM 19 Thu June 11 23 11 23 36 19 Thursday 1 06 Jun 6 +0200 RFC2822 Thu, 19 Jun 1980 23:36:34 +0200 34 30 330298594 4 80 1980 170 7200 2003" (date len=171)
  "date CEST 1980-06-19 22:36:34 pm PM 19 Thu June 10 22 10 22 36 19 Thursday 1 06 Jun 6 +0100 RFC2822 Thu, 19 Jun 1980 22:36:34 +0100 34 30 330298594 4 80 1980 170 3600 2003" (adodb_date len=171)

Error getdate() 330298594
Array ( [seconds] => 34 [minutes] => 36 [hours] => 23 [mday] => 19 [wday] => 4 [mon] => 6 [year] => 1980 [yday] => 170 [weekday] => Thursday [month] => June [0] => 330298594 )
Array ( [seconds] => 34 [minutes] => 36 [hours] => 22 [mday] => 19 [wday] => 4 [mon] => 6 [year] => 1980 [yday] => 170 [weekday] => Thursday [month] => June [0] => 330298594 )

Testing random dates between 100 and 4000

Testing 1961 to 1973, or 378432000 seconds, offset=57601: 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 Tested 6570 dates

Failed :-(

Original: 2063-12-24
Converted: 24-Dec-2063