-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=7.4.33

adodb: 2026-01-27 14:29:25
php : 2026-01-27 14:29:25

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 formatting

20:10:21 pm PM 22 Sun August 8 20 08 20 10 22 Sunday 0 08 Aug 8 +0200 RFC2822 Sun, 22 Aug 1982 20:10:21 +0200 21 31 398887821 0 82 1982 233 7200 2003 Error date(): 398887821
  "date CEST 1982-08-22 20:10:21 pm PM 22 Sun August 8 20 08 20 10 22 Sunday 0 08 Aug 8 +0200 RFC2822 Sun, 22 Aug 1982 20:10:21 +0200 21 31 398887821 0 82 1982 233 7200 2003" (date len=170)
  "date CEST 1982-08-22 19:10:21 pm PM 22 Sun August 7 19 07 19 10 22 Sunday 0 08 Aug 8 +0100 RFC2822 Sun, 22 Aug 1982 19:10:21 +0100 21 31 398887821 0 82 1982 233 3600 2003" (adodb_date len=170)

Error getdate() 398887821
Array ( [seconds] => 21 [minutes] => 10 [hours] => 20 [mday] => 22 [wday] => 0 [mon] => 8 [year] => 1982 [yday] => 233 [weekday] => Sunday [month] => August [0] => 398887821 )
Array ( [seconds] => 21 [minutes] => 10 [hours] => 19 [mday] => 22 [wday] => 0 [mon] => 8 [year] => 1982 [yday] => 233 [weekday] => Sunday [month] => August [0] => 398887821 )

20:46:45 pm PM 18 Mon May 8 20 08 20 46 18 Monday 0 05 May 5 +0200 RFC2822 Mon, 18 May 1981 20:46:45 +0200 45 31 359059605 1 81 1981 137 7200 2003 Error date(): 359059605

  "date CEST 1981-05-18 20:46:45 pm PM 18 Mon May 8 20 08 20 46 18 Monday 0 05 May 5 +0200 RFC2822 Mon, 18 May 1981 20:46:45 +0200 45 31 359059605 1 81 1981 137 7200 2003" (date len=167)
  "date CEST 1981-05-18 19:46:45 pm PM 18 Mon May 7 19 07 19 46 18 Monday 0 05 May 5 +0100 RFC2822 Mon, 18 May 1981 19:46:45 +0100 45 31 359059605 1 81 1981 137 3600 2003" (adodb_date len=167)

Error getdate() 359059605
Array ( [seconds] => 45 [minutes] => 46 [hours] => 20 [mday] => 18 [wday] => 1 [mon] => 5 [year] => 1981 [yday] => 137 [weekday] => Monday [month] => May [0] => 359059605 )
Array ( [seconds] => 45 [minutes] => 46 [hours] => 19 [mday] => 18 [wday] => 1 [mon] => 5 [year] => 1981 [yday] => 137 [weekday] => Monday [month] => May [0] => 359059605 )

10:22:10 am AM 27 Sun April 10 10 10 10 22 27 Sunday 1 04 Apr 4 +0200 RFC2822 Sun, 27 Apr 1980 10:22:10 +0200 10 30 325671730 0 80 1980 117 7200 2003 Error date(): 325671730

  "date CEST 1980-04-27 10:22:10 am AM 27 Sun April 10 10 10 10 22 27 Sunday 1 04 Apr 4 +0200 RFC2822 Sun, 27 Apr 1980 10:22:10 +0200 10 30 325671730 0 80 1980 117 7200 2003" (date len=170)
  "date CEST 1980-04-27 09:22:10 am AM 27 Sun April 9 9 09 09 22 27 Sunday 1 04 Apr 4 +0100 RFC2822 Sun, 27 Apr 1980 09:22:10 +0100 10 30 325671730 0 80 1980 117 3600 2003" (adodb_date len=168)

2:06:10 pm PM 30 Thu April 10 22 10 22 06 30 Thursday 0 04 Apr 4 +0200 RFC2822 Thu, 30 Apr 1981 22:06:10 +0200 10 30 357509170 4 81 1981 119 7200 2003 Error date(): 357509170
  "date CEST 1981-04-30 22:06:10 pm PM 30 Thu April 10 22 10 22 06 30 Thursday 0 04 Apr 4 +0200 RFC2822 Thu, 30 Apr 1981 22:06:10 +0200 10 30 357509170 4 81 1981 119 7200 2003" (date len=172)
  "date CEST 1981-04-30 21:06:10 pm PM 30 Thu April 9 21 09 21 06 30 Thursday 0 04 Apr 4 +0100 RFC2822 Thu, 30 Apr 1981 21:06:10 +0100 10 30 357509170 4 81 1981 119 3600 2003" (adodb_date len=171)

Error getdate() 357509170
Array ( [seconds] => 10 [minutes] => 6 [hours] => 22 [mday] => 30 [wday] => 4 [mon] => 4 [year] => 1981 [yday] => 119 [weekday] => Thursday [month] => April [0] => 357509170 )
Array ( [seconds] => 10 [minutes] => 6 [hours] => 21 [mday] => 30 [wday] => 4 [mon] => 4 [year] => 1981 [yday] => 119 [weekday] => Thursday [month] => April [0] => 357509170 )

2:15:09 am AM 20 Mon September 2 2 02 02 15 20 Monday 0 09 Sep 9 +0200 RFC2822 Mon, 20 Sep 1982 02:15:09 +0200 09 30 401328909 1 82 1982 262 7200 2003 Error date(): 401328909

  "date CEST 1982-09-20 02:15:09 am AM 20 Mon September 2 2 02 02 15 20 Monday 0 09 Sep 9 +0200 RFC2822 Mon, 20 Sep 1982 02:15:09 +0200 09 30 401328909 1 82 1982 262 7200 2003" (date len=172)
  "date CEST 1982-09-20 01:15:09 am AM 20 Mon September 1 1 01 01 15 20 Monday 0 09 Sep 9 +0100 RFC2822 Mon, 20 Sep 1982 01:15:09 +0100 09 30 401328909 1 82 1982 262 3600 2003" (adodb_date len=172)

Error getdate() 401328909
Array ( [seconds] => 9 [minutes] => 15 [hours] => 2 [mday] => 20 [wday] => 1 [mon] => 9 [year] => 1982 [yday] => 262 [weekday] => Monday [month] => September [0] => 401328909 )
Array ( [seconds] => 9 [minutes] => 15 [hours] => 1 [mday] => 20 [wday] => 1 [mon] => 9 [year] => 1982 [yday] => 262 [weekday] => Monday [month] => September [0] => 401328909 )

2:00:49 pm PM 03 Sun May 10 22 10 22 00 3 Sunday 0 05 May 5 +0200 RFC2822 Sun, 03 May 1981 22:00:49 +0200 49 31 357768049 0 81 1981 122 7200 2003 Error date(): 357768049

  "date CEST 1981-05-03 22:00:49 pm PM 03 Sun May 10 22 10 22 00 3 Sunday 0 05 May 5 +0200 RFC2822 Sun, 03 May 1981 22:00:49 +0200 49 31 357768049 0 81 1981 122 7200 2003" (date len=167)
  "date CEST 1981-05-03 21:00:49 pm PM 03 Sun May 9 21 09 21 00 3 Sunday 0 05 May 5 +0100 RFC2822 Sun, 03 May 1981 21:00:49 +0100 49 31 357768049 0 81 1981 122 3600 2003" (adodb_date len=166)

Error getdate() 357768049
Array ( [seconds] => 49 [minutes] => 0 [hours] => 22 [mday] => 3 [wday] => 0 [mon] => 5 [year] => 1981 [yday] => 122 [weekday] => Sunday [month] => May [0] => 357768049 )
Array ( [seconds] => 49 [minutes] => 0 [hours] => 21 [mday] => 3 [wday] => 0 [mon] => 5 [year] => 1981 [yday] => 122 [weekday] => Sunday [month] => May [0] => 357768049 )

3:00:38 pm PM 27 Thu August 1 13 01 13 00 27 Thursday 0 08 Aug 8 +0200 RFC2822 Thu, 27 Aug 1981 13:00:38 +0200 38 31 367758038 4 81 1981 238 7200 2003 Error date(): 367758038

  "date CEST 1981-08-27 13:00:38 pm PM 27 Thu August 1 13 01 13 00 27 Thursday 0 08 Aug 8 +0200 RFC2822 Thu, 27 Aug 1981 13:00:38 +0200 38 31 367758038 4 81 1981 238 7200 2003" (date len=172)
  "date CEST 1981-08-27 12:00:38 pm PM 27 Thu August 12 12 12 12 00 27 Thursday 0 08 Aug 8 +0100 RFC2822 Thu, 27 Aug 1981 12:00:38 +0100 38 31 367758038 4 81 1981 238 3600 2003" (adodb_date len=173)

Error getdate() 367758038
Array ( [seconds] => 38 [minutes] => 0 [hours] => 13 [mday] => 27 [wday] => 4 [mon] => 8 [year] => 1981 [yday] => 238 [weekday] => Thursday [month] => August [0] => 367758038 )
Array ( [seconds] => 38 [minutes] => 0 [hours] => 12 [mday] => 27 [wday] => 4 [mon] => 8 [year] => 1981 [yday] => 238 [weekday] => Thursday [month] => August [0] => 367758038 )

8 00:07:44 am AM 18 Wed June 12 0 12 00 07 18 Wednesday 1 06 Jun 6 +0200 RFC2822 Wed, 18 Jun 1980 00:07:44 +0200 44 30 330127664 3 80 1980 169 7200 2003 Error date(): 330127664

  "date CEST 1980-06-18 00:07:44 am AM 18 Wed June 12 0 12 00 07 18 Wednesday 1 06 Jun 6 +0200 RFC2822 Wed, 18 Jun 1980 00:07:44 +0200 44 30 330127664 3 80 1980 169 7200 2003" (date len=171)
  "date CEST 1980-06-17 23:07:44 pm PM 17 Tue June 11 23 11 23 07 17 Tuesday 1 06 Jun 6 +0100 RFC2822 Tue, 17 Jun 1980 23:07:44 +0100 44 30 330127664 2 80 1980 168 3600 2003" (adodb_date len=170)

Error getdate() 330127664
Array ( [seconds] => 44 [minutes] => 7 [hours] => 0 [mday] => 18 [wday] => 3 [mon] => 6 [year] => 1980 [yday] => 169 [weekday] => Wednesday [month] => June [0] => 330127664 )
Array ( [seconds] => 44 [minutes] => 7 [hours] => 23 [mday] => 17 [wday] => 2 [mon] => 6 [year] => 1980 [yday] => 168 [weekday] => Tuesday [month] => June [0] => 330127664 )

9:08:33 am AM 27 Thu May 9 9 09 09 08 27 Thursday 0 05 May 5 +0200 RFC2822 Thu, 27 May 1982 09:08:33 +0200 33 31 391331313 4 82 1982 146 7200 2003 Error date(): 391331313

  "date CEST 1982-05-27 09:08:33 am AM 27 Thu May 9 9 09 09 08 27 Thursday 0 05 May 5 +0200 RFC2822 Thu, 27 May 1982 09:08:33 +0200 33 31 391331313 4 82 1982 146 7200 2003" (date len=168)
  "date CEST 1982-05-27 08:08:33 am AM 27 Thu May 8 8 08 08 08 27 Thursday 0 05 May 5 +0100 RFC2822 Thu, 27 May 1982 08:08:33 +0100 33 31 391331313 4 82 1982 146 3600 2003" (adodb_date len=168)

Error getdate() 391331313
Array ( [seconds] => 33 [minutes] => 8 [hours] => 9 [mday] => 27 [wday] => 4 [mon] => 5 [year] => 1982 [yday] => 146 [weekday] => Thursday [month] => May [0] => 391331313 )
Array ( [seconds] => 33 [minutes] => 8 [hours] => 8 [mday] => 27 [wday] => 4 [mon] => 5 [year] => 1982 [yday] => 146 [weekday] => Thursday [month] => May [0] => 391331313 )

Testing random dates between 100 and 4000

2752 error, expected=2752-11-13 00:00:00, adodb=2225-12-10 13:29:25
2549 error, expected=2549-5-13 20:00:00, adodb=2225-12-10 13:29:25
2560 error, expected=2560-4-13 22:00:00, adodb=2225-12-10 13:29:25
2925 error, expected=2925-9-13 21:00:00, adodb=2225-12-10 13:29:25
2457 error, expected=2457-2-13 07:00:00, adodb=2225-12-10 13:29:25
2975 error, expected=2975-10-13 10:00:00, adodb=2225-12-10 13:29:25
2459 error, expected=2459-12-13 10:00:00, adodb=2225-12-10 13:29:25
2490 error, expected=2490-2-13 16:00:00, adodb=2225-12-10 13:29:25
2238 error, expected=2238-9-13 00:00:00, adodb=2225-12-10 13:29:25
2897 error, expected=2897-12-13 22:00:00, adodb=2225-12-10 13:29:25
2770 error, expected=2770-9-13 10:00:00, adodb=2225-12-10 13:29:25
2560 error, expected=2560-12-13 21:00:00, adodb=2225-12-10 13:29:25
2868 error, expected=2868-10-13 07:00:00, adodb=2225-12-10 13:29:25
2412 error, expected=2412-12-13 06:00:00, adodb=2225-12-10 13:29:25
2960 error, expected=2960-2-13 05:00:00, adodb=2225-12-10 13:29:25
2470 error, expected=2470-1-13 09:00:00, adodb=2225-12-10 13:29:25
2478 error, expected=2478-6-13 22:00:00, adodb=2225-12-10 13:29:25
2580 error, expected=2580-1-13 12:00:00, adodb=2225-12-10 13:29:25
2909 error, expected=2909-3-13 09:00:00, adodb=2225-12-10 13:29:25
2481 error, expected=2481-10-13 20:00:00, adodb=2225-12-10 13:29:25
2262 error, expected=2262-5-13 19:00:00, adodb=2225-12-10 13:29:25
2282 error, expected=2282-6-13 19:00:00, adodb=2225-12-10 13:29:25
2560 error, expected=2560-2-13 18:00:00, adodb=2225-12-10 13:29:25
2390 error, expected=2390-3-13 07:00:00, adodb=2225-12-10 13:29:25
2457 error, expected=2457-8-13 13:00:00, adodb=2225-12-10 13:29:25
2935 error, expected=2935-4-13 09:00:00, adodb=2225-12-10 13:29:25
2414 error, expected=2414-1-13 11:00:00, adodb=2225-12-10 13:29:25
2857 error, expected=2857-1-13 02:00:00, adodb=2225-12-10 13:29:25
2766 error, expected=2766-6-13 16:00:00, adodb=2225-12-10 13:29:25
2293 error, expected=2293-8-13 16:00:00, adodb=2225-12-10 13:29:25
2611 error, expected=2611-7-13 13:00:00, adodb=2225-12-10 13:29:25
2469 error, expected=2469-1-13 08:00:00, adodb=2225-12-10 13:29:25
2306 error, expected=2306-2-13 14:00:00, adodb=2225-12-10 13:29:25
2590 error, expected=2590-9-13 19:00:00, adodb=2225-12-10 13:29:25
2673 error, expected=2673-3-13 15:00:00, adodb=2225-12-10 13:29:25
2780 error, expected=2780-1-13 18:00:00, adodb=2225-12-10 13:29:25
2298 error, expected=2298-3-13 08:00:00, adodb=2225-12-10 13:29:25
2830 error, expected=2830-3-13 22:00:00, adodb=2225-12-10 13:29:25
2746 error, expected=2746-5-13 14:00:00, adodb=2225-12-10 13:29:25
2937 error, expected=2937-6-13 08:00:00, adodb=2225-12-10 13:29:25
2812 error, expected=2812-12-13 06:00:00, adodb=2225-12-10 13:29:25
2842 error, expected=2842-2-13 13:00:00, adodb=2225-12-10 13:29:25
2932 error, expected=2932-9-13 22:00:00, adodb=2225-12-10 13:29:25
2272 error, expected=2272-2-13 01:00:00, adodb=2225-12-10 13:29:25
2571 error, expected=2571-2-13 05:00:00, adodb=2225-12-10 13:29:25
2725 error, expected=2725-12-13 15:00:00, adodb=2225-12-10 13:29:25
2970 error, expected=2970-5-13 19:00:00, adodb=2225-12-10 13:29:25
2270 error, expected=2270-9-13 15:00:00, adodb=2225-12-10 13:29:25
2243 error, expected=2243-2-13 14:00:00, adodb=2225-12-10 13:29:25
2732 error, expected=2732-4-13 06:00:00, adodb=2225-12-10 13:29:25
2351 error, expected=2351-2-13 19:00:00, adodb=2225-12-10 13:29:25
2645 error, expected=2645-4-13 13:00:00, adodb=2225-12-10 13:29:25
2784 error, expected=2784-6-13 22:00:00, adodb=2225-12-10 13:29:25
2874 error, expected=2874-2-13 04:00:00, adodb=2225-12-10 13:29:25
2399 error, expected=2399-12-13 17:00:00, adodb=2225-12-10 13:29:25
2526 error, expected=2526-11-13 10:00:00, adodb=2225-12-10 13:29:25
2228 error, expected=2228-12-13 04:00:00, adodb=2225-12-10 13:29:25
2354 error, expected=2354-9-13 23:00:00, adodb=2225-12-10 13:29:25
2591 error, expected=2591-1-13 03:00:00, adodb=2225-12-10 13:29:25
2305 error, expected=2305-7-13 14:00:00, adodb=2225-12-10 13:29:25
2350 error, expected=2350-11-13 14:00:00, adodb=2225-12-10 13:29:25
2275 error, expected=2275-10-13 16:00:00, adodb=2225-12-10 13:29:25
2608 error, expected=2608-12-13 22:00:00, adodb=2225-12-10 13:29:25
2872 error, expected=2872-7-13 20:00:00, adodb=2225-12-10 13:29:25
2350 error, expected=2350-6-13 22:00:00, adodb=2225-12-10 13:29:25
2248 error, expected=2248-7-13 02:00:00, adodb=2225-12-10 13:29:25
2415 error, expected=2415-11-13 11:00:00, adodb=2225-12-10 13:29:25
2851 error, expected=2851-6-13 02:00:00, adodb=2225-12-10 13:29:25
2405 error, expected=2405-3-13 01:00:00, adodb=2225-12-10 13:29:25
2373 error, expected=2373-9-13 13:00:00, adodb=2225-12-10 13:29:25
2864 error, expected=2864-8-13 06:00:00, adodb=2225-12-10 13:29:25
2270 error, expected=2270-12-13 09:00:00, adodb=2225-12-10 13:29:25
2415 error, expected=2415-8-13 19:00:00, adodb=2225-12-10 13:29:25
2571 error, expected=2571-9-13 17:00:00, adodb=2225-12-10 13:29:25
2309 error, expected=2309-6-13 04:00:00, adodb=2225-12-10 13:29:25
2890 error, expected=2890-1-13 20:00:00, adodb=2225-12-10 13:29:25

Testing 1969 to 1981, or 378432000 seconds, offset=87896: 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 Tested 4306 dates

Failed :-(

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