-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.33 PHP=5.6.40

adodb: 2026-04-11 21:26:11
php : 2026-04-11 21:26:11

Testing gregorian <=> julian conversion

-12219408000 -12219321600 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

1:03:55 pm PM 07 Fri September 9 21 09 21 03 7 Friday 0 09 Sep 9 +0900 RFC2822 Fri, 07 Sep 1979 21:03:55 +0900 55 30 305553835 5 79 1979 249 32400 2003 Error date(): 305553835
 
  "date CDT 1979-09-07 21:03:55 pm PM 07 Fri September 9 21 09 21 03 7 Friday 0 09 Sep 9 +0900 RFC2822 Fri, 07 Sep 1979 21:03:55 +0900 55 30 305553835 5 79 1979 249 32400 2003" (date len=172)
  "date CDT 1979-09-07 20:03:55 pm PM 07 Fri September 8 20 08 20 03 7 Friday 0 09 Sep 9 +0800 RFC2822 Fri, 07 Sep 1979 20:03:55 +0800 55 30 305553835 5 79 1979 249 28800 2003" (adodb_date len=172)

Error getdate() 305553835
Array ( [seconds] => 55 [minutes] => 3 [hours] => 21 [mday] => 7 [wday] => 5 [mon] => 9 [year] => 1979 [yday] => 249 [weekday] => Friday [month] => September [0] => 305553835 )
Array ( [seconds] => 55 [minutes] => 3 [hours] => 20 [mday] => 7 [wday] => 5 [mon] => 9 [year] => 1979 [yday] => 249 [weekday] => Friday [month] => September [0] => 305553835 )

7:59:10 pm PM 06 Wed August 5 17 05 17 59 6 Wednesday 0 08 Aug 8 +0900 RFC2822 Wed, 06 Aug 1975 17:59:10 +0900 10 31 176547550 3 75 1975 217 32400 2003 Error date(): 176547550

 
  "date CDT 1975-08-06 17:59:10 pm PM 06 Wed August 5 17 05 17 59 6 Wednesday 0 08 Aug 8 +0900 RFC2822 Wed, 06 Aug 1975 17:59:10 +0900 10 31 176547550 3 75 1975 217 32400 2003" (date len=172)
  "date CDT 1975-08-06 16:59:10 pm PM 06 Wed August 4 16 04 16 59 6 Wednesday 0 08 Aug 8 +0800 RFC2822 Wed, 06 Aug 1975 16:59:10 +0800 10 31 176547550 3 75 1975 217 28800 2003" (adodb_date len=172)

Error getdate() 176547550
Array ( [seconds] => 10 [minutes] => 59 [hours] => 17 [mday] => 6 [wday] => 3 [mon] => 8 [year] => 1975 [yday] => 217 [weekday] => Wednesday [month] => August [0] => 176547550 )
Array ( [seconds] => 10 [minutes] => 59 [hours] => 16 [mday] => 6 [wday] => 3 [mon] => 8 [year] => 1975 [yday] => 217 [weekday] => Wednesday [month] => August [0] => 176547550 )

6:28:31 am AM 01 Sun July 6 6 06 06 28 1 Sunday 0 07 Jul 7 +0900 RFC2822 Sun, 01 Jul 1979 06:28:31 +0900 31 31 299626111 0 79 1979 181 32400 2003 Error date(): 299626111

 
  "date CDT 1979-07-01 06:28:31 am AM 01 Sun July 6 6 06 06 28 1 Sunday 0 07 Jul 7 +0900 RFC2822 Sun, 01 Jul 1979 06:28:31 +0900 31 31 299626111 0 79 1979 181 32400 2003" (date len=166)
  "date CDT 1979-07-01 05:28:31 am AM 01 Sun July 5 5 05 05 28 1 Sunday 0 07 Jul 7 +0800 RFC2822 Sun, 01 Jul 1979 05:28:31 +0800 31 31 299626111 0 79 1979 181 28800 2003" (adodb_date len=166)

Error getdate() 299626111
Array ( [seconds] => 31 [minutes] => 28 [hours] => 6 [mday] => 1 [wday] => 0 [mon] => 7 [year] => 1979 [yday] => 181 [weekday] => Sunday [month] => July [0] => 299626111 )
Array ( [seconds] => 31 [minutes] => 28 [hours] => 5 [mday] => 1 [wday] => 0 [mon] => 7 [year] => 1979 [yday] => 181 [weekday] => Sunday [month] => July [0] => 299626111 )

5:31:50 am AM 31 Wed December 5 5 05 05 31 31 Wednesday 0 12 Dec 12 +0800 RFC2822 Wed, 31 Dec 1975 05:31:50 +0800 50 31 189207110 3 75 1975 364 28800 2003 Error date(): 189207110

 
  "date CST 1975-12-31 05:31:50 am AM 31 Wed December 5 5 05 05 31 31 Wednesday 0 12 Dec 12 +0800 RFC2822 Wed, 31 Dec 1975 05:31:50 +0800 50 31 189207110 3 75 1975 364 28800 2003" (date len=175)
  "date CST 1975-12-31 06:31:50 am AM 31 Wed December 6 6 06 06 31 31 Wednesday 0 12 Dec 12 +0900 RFC2822 Wed, 31 Dec 1975 06:31:50 +0900 50 31 189207110 3 75 1975 364 32400 2003" (adodb_date len=175)

Error getdate() 189207110
Array ( [seconds] => 50 [minutes] => 31 [hours] => 5 [mday] => 31 [wday] => 3 [mon] => 12 [year] => 1975 [yday] => 364 [weekday] => Wednesday [month] => December [0] => 189207110 )
Array ( [seconds] => 50 [minutes] => 31 [hours] => 6 [mday] => 31 [wday] => 3 [mon] => 12 [year] => 1975 [yday] => 364 [weekday] => Wednesday [month] => December [0] => 189207110 )

4:12:45 am AM 25 Wed June 4 4 04 04 12 25 Wednesday 0 06 Jun 6 +0900 RFC2822 Wed, 25 Jun 1975 04:12:45 +0900 45 30 172869165 3 75 1975 175 32400 2003 Error date(): 172869165

 
  "date CDT 1975-06-25 04:12:45 am AM 25 Wed June 4 4 04 04 12 25 Wednesday 0 06 Jun 6 +0900 RFC2822 Wed, 25 Jun 1975 04:12:45 +0900 45 30 172869165 3 75 1975 175 32400 2003" (date len=170)
  "date CDT 1975-06-25 03:12:45 am AM 25 Wed June 3 3 03 03 12 25 Wednesday 0 06 Jun 6 +0800 RFC2822 Wed, 25 Jun 1975 03:12:45 +0800 45 30 172869165 3 75 1975 175 28800 2003" (adodb_date len=170)

Error getdate() 172869165
Array ( [seconds] => 45 [minutes] => 12 [hours] => 4 [mday] => 25 [wday] => 3 [mon] => 6 [year] => 1975 [yday] => 175 [weekday] => Wednesday [month] => June [0] => 172869165 )
Array ( [seconds] => 45 [minutes] => 12 [hours] => 3 [mday] => 25 [wday] => 3 [mon] => 6 [year] => 1975 [yday] => 175 [weekday] => Wednesday [month] => June [0] => 172869165 )

6:02:26 am AM 22 Fri November 6 6 06 06 02 22 Friday 0 11 Nov 11 +0800 RFC2822 Fri, 22 Nov 1974 06:02:26 +0800 26 30 154303346 5 74 1974 325 28800 2003 Error date(): 154303346

 
  "date CST 1974-11-22 06:02:26 am AM 22 Fri November 6 6 06 06 02 22 Friday 0 11 Nov 11 +0800 RFC2822 Fri, 22 Nov 1974 06:02:26 +0800 26 30 154303346 5 74 1974 325 28800 2003" (date len=172)
  "date CST 1974-11-22 07:02:26 am AM 22 Fri November 7 7 07 07 02 22 Friday 0 11 Nov 11 +0900 RFC2822 Fri, 22 Nov 1974 07:02:26 +0900 26 30 154303346 5 74 1974 325 32400 2003" (adodb_date len=172)

Error getdate() 154303346
Array ( [seconds] => 26 [minutes] => 2 [hours] => 6 [mday] => 22 [wday] => 5 [mon] => 11 [year] => 1974 [yday] => 325 [weekday] => Friday [month] => November [0] => 154303346 )
Array ( [seconds] => 26 [minutes] => 2 [hours] => 7 [mday] => 22 [wday] => 5 [mon] => 11 [year] => 1974 [yday] => 325 [weekday] => Friday [month] => November [0] => 154303346 )

5:11:19 pm PM 15 Fri August 3 15 03 15 11 15 Friday 0 08 Aug 8 +0900 RFC2822 Fri, 15 Aug 1975 15:11:19 +0900 19 31 177315079 5 75 1975 226 32400 2003 Error date(): 177315079

 
  "date CDT 1975-08-15 15:11:19 pm PM 15 Fri August 3 15 03 15 11 15 Friday 0 08 Aug 8 +0900 RFC2822 Fri, 15 Aug 1975 15:11:19 +0900 19 31 177315079 5 75 1975 226 32400 2003" (date len=170)
  "date CDT 1975-08-15 14:11:19 pm PM 15 Fri August 2 14 02 14 11 15 Friday 0 08 Aug 8 +0800 RFC2822 Fri, 15 Aug 1975 14:11:19 +0800 19 31 177315079 5 75 1975 226 28800 2003" (adodb_date len=170)

2:02:19 am AM 18 Mon August 2 2 02 02 02 18 Monday 0 08 Aug 8 +0900 RFC2822 Mon, 18 Aug 1975 02:02:19 +0900 19 31 177526939 1 75 1975 229 32400 2003 Error date(): 177526939
 
  "date CDT 1975-08-18 02:02:19 am AM 18 Mon August 2 2 02 02 02 18 Monday 0 08 Aug 8 +0900 RFC2822 Mon, 18 Aug 1975 02:02:19 +0900 19 31 177526939 1 75 1975 229 32400 2003" (date len=169)
  "date CDT 1975-08-18 01:02:19 am AM 18 Mon August 1 1 01 01 02 18 Monday 0 08 Aug 8 +0800 RFC2822 Mon, 18 Aug 1975 01:02:19 +0800 19 31 177526939 1 75 1975 229 28800 2003" (adodb_date len=169)

9:54:31 pm PM 25 Mon August 7 19 07 19 54 25 Monday 0 08 Aug 8 +0900 RFC2822 Mon, 25 Aug 1975 19:54:31 +0900 31 31 178196071 1 75 1975 236 32400 2003 Error date(): 178196071
 
  "date CDT 1975-08-25 19:54:31 pm PM 25 Mon August 7 19 07 19 54 25 Monday 0 08 Aug 8 +0900 RFC2822 Mon, 25 Aug 1975 19:54:31 +0900 31 31 178196071 1 75 1975 236 32400 2003" (date len=170)
  "date CDT 1975-08-25 18:54:31 pm PM 25 Mon August 6 18 06 18 54 25 Monday 0 08 Aug 8 +0800 RFC2822 Mon, 25 Aug 1975 18:54:31 +0800 31 31 178196071 1 75 1975 236 28800 2003" (adodb_date len=170)

Error getdate() 178196071
Array ( [seconds] => 31 [minutes] => 54 [hours] => 19 [mday] => 25 [wday] => 1 [mon] => 8 [year] => 1975 [yday] => 236 [weekday] => Monday [month] => August [0] => 178196071 )
Array ( [seconds] => 31 [minutes] => 54 [hours] => 18 [mday] => 25 [wday] => 1 [mon] => 8 [year] => 1975 [yday] => 236 [weekday] => Monday [month] => August [0] => 178196071 )

8:15:57 am AM 17 Thu July 8 8 08 08 15 17 Thursday 0 07 Jul 7 +0900 RFC2822 Thu, 17 Jul 1975 08:15:57 +0900 57 31 174784557 4 75 1975 197 32400 2003 Error date(): 174784557

 
  "date CDT 1975-07-17 08:15:57 am AM 17 Thu July 8 8 08 08 15 17 Thursday 0 07 Jul 7 +0900 RFC2822 Thu, 17 Jul 1975 08:15:57 +0900 57 31 174784557 4 75 1975 197 32400 2003" (date len=169)
  "date CDT 1975-07-17 07:15:57 am AM 17 Thu July 7 7 07 07 15 17 Thursday 0 07 Jul 7 +0800 RFC2822 Thu, 17 Jul 1975 07:15:57 +0800 57 31 174784557 4 75 1975 197 28800 2003" (adodb_date len=169)

Error getdate() 174784557
Array ( [seconds] => 57 [minutes] => 15 [hours] => 8 [mday] => 17 [wday] => 4 [mon] => 7 [year] => 1975 [yday] => 197 [weekday] => Thursday [month] => July [0] => 174784557 )
Array ( [seconds] => 57 [minutes] => 15 [hours] => 7 [mday] => 17 [wday] => 4 [mon] => 7 [year] => 1975 [yday] => 197 [weekday] => Thursday [month] => July [0] => 174784557 )

5:43:42 am AM 29 Mon September 5 5 05 05 43 29 Monday 0 09 Sep 9 +0900 RFC2822 Mon, 29 Sep 1975 05:43:42 +0900 42 30 181169022 1 75 1975 271 32400 2003 Error date(): 181169022

 
  "date CDT 1975-09-29 05:43:42 am AM 29 Mon September 5 5 05 05 43 29 Monday 0 09 Sep 9 +0900 RFC2822 Mon, 29 Sep 1975 05:43:42 +0900 42 30 181169022 1 75 1975 271 32400 2003" (date len=172)
  "date CDT 1975-09-29 04:43:42 am AM 29 Mon September 4 4 04 04 43 29 Monday 0 09 Sep 9 +0800 RFC2822 Mon, 29 Sep 1975 04:43:42 +0800 42 30 181169022 1 75 1975 271 28800 2003" (adodb_date len=172)

Error getdate() 181169022
Array ( [seconds] => 42 [minutes] => 43 [hours] => 5 [mday] => 29 [wday] => 1 [mon] => 9 [year] => 1975 [yday] => 271 [weekday] => Monday [month] => September [0] => 181169022 )
Array ( [seconds] => 42 [minutes] => 43 [hours] => 4 [mday] => 29 [wday] => 1 [mon] => 9 [year] => 1975 [yday] => 271 [weekday] => Monday [month] => September [0] => 181169022 )

6:33:56 pm PM 21 Tue August 4 16 04 16 33 21 Tuesday 0 08 Aug 8 +0900 RFC2822 Tue, 21 Aug 1979 16:33:56 +0900 56 31 304068836 2 79 1979 232 32400 2003 Error date(): 304068836

 
  "date CDT 1979-08-21 16:33:56 pm PM 21 Tue August 4 16 04 16 33 21 Tuesday 0 08 Aug 8 +0900 RFC2822 Tue, 21 Aug 1979 16:33:56 +0900 56 31 304068836 2 79 1979 232 32400 2003" (date len=171)
  "date CDT 1979-08-21 15:33:56 pm PM 21 Tue August 3 15 03 15 33 21 Tuesday 0 08 Aug 8 +0800 RFC2822 Tue, 21 Aug 1979 15:33:56 +0800 56 31 304068836 2 79 1979 232 28800 2003" (adodb_date len=171)

Error getdate() 304068836
Array ( [seconds] => 56 [minutes] => 33 [hours] => 16 [mday] => 21 [wday] => 2 [mon] => 8 [year] => 1979 [yday] => 232 [weekday] => Tuesday [month] => August [0] => 304068836 )
Array ( [seconds] => 56 [minutes] => 33 [hours] => 15 [mday] => 21 [wday] => 2 [mon] => 8 [year] => 1979 [yday] => 232 [weekday] => Tuesday [month] => August [0] => 304068836 )

6:47:29 am AM 08 Sat June 6 6 06 06 47 8 Saturday 0 06 Jun 6 +0900 RFC2822 Sat, 08 Jun 1974 06:47:29 +0900 29 30 139873649 6 74 1974 158 32400 2003 Error date(): 139873649

 
  "date CDT 1974-06-08 06:47:29 am AM 08 Sat June 6 6 06 06 47 8 Saturday 0 06 Jun 6 +0900 RFC2822 Sat, 08 Jun 1974 06:47:29 +0900 29 30 139873649 6 74 1974 158 32400 2003" (date len=168)
  "date CDT 1974-06-08 05:47:29 am AM 08 Sat June 5 5 05 05 47 8 Saturday 0 06 Jun 6 +0800 RFC2822 Sat, 08 Jun 1974 05:47:29 +0800 29 30 139873649 6 74 1974 158 28800 2003" (adodb_date len=168)

Testing random dates between 100 and 4000

Testing 1969 to 1981, or 378432000 seconds, offset=89248: 1969 1970 1971 1972 1973 1974 1975 Error at 157737408, adodb_mktime returned 157741008 (01,01,1975,00,56,48)Tested 2121 dates

Failed :-(

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