-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-02-21 22:44:25
php : 2026-02-21 22:44:25

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

2:20:02 pm PM 02 Tue April 12 12 12 12 20 2 Tuesday 0 04 Apr 4 +0900 RFC2822 Tue, 02 Apr 1974 12:20:02 +0900 02 30 134104802 2 74 1974 91 32400 2003 Error date(): 134104802
 
  "date CDT 1974-04-02 12:20:02 pm PM 02 Tue April 12 12 12 12 20 2 Tuesday 0 04 Apr 4 +0900 RFC2822 Tue, 02 Apr 1974 12:20:02 +0900 02 30 134104802 2 74 1974 91 32400 2003" (date len=169)
  "date CDT 1974-04-02 11:20:02 am AM 02 Tue April 11 11 11 11 20 2 Tuesday 0 04 Apr 4 +0800 RFC2822 Tue, 02 Apr 1974 11:20:02 +0800 02 30 134104802 2 74 1974 91 28800 2003" (adodb_date len=169)

Error getdate() 134104802
Array ( [seconds] => 2 [minutes] => 20 [hours] => 12 [mday] => 2 [wday] => 2 [mon] => 4 [year] => 1974 [yday] => 91 [weekday] => Tuesday [month] => April [0] => 134104802 )
Array ( [seconds] => 2 [minutes] => 20 [hours] => 11 [mday] => 2 [wday] => 2 [mon] => 4 [year] => 1974 [yday] => 91 [weekday] => Tuesday [month] => April [0] => 134104802 )

2:00:18 pm PM 26 Fri July 10 22 10 22 00 26 Friday 0 07 Jul 7 +0900 RFC2822 Fri, 26 Jul 1974 22:00:18 +0900 18 31 144075618 5 74 1974 206 32400 2003 Error date(): 144075618

 
  "date CDT 1974-07-26 22:00:18 pm PM 26 Fri July 10 22 10 22 00 26 Friday 0 07 Jul 7 +0900 RFC2822 Fri, 26 Jul 1974 22:00:18 +0900 18 31 144075618 5 74 1974 206 32400 2003" (date len=169)
  "date CDT 1974-07-26 21:00:18 pm PM 26 Fri July 9 21 09 21 00 26 Friday 0 07 Jul 7 +0800 RFC2822 Fri, 26 Jul 1974 21:00:18 +0800 18 31 144075618 5 74 1974 206 28800 2003" (adodb_date len=168)

Error getdate() 144075618
Array ( [seconds] => 18 [minutes] => 0 [hours] => 22 [mday] => 26 [wday] => 5 [mon] => 7 [year] => 1974 [yday] => 206 [weekday] => Friday [month] => July [0] => 144075618 )
Array ( [seconds] => 18 [minutes] => 0 [hours] => 21 [mday] => 26 [wday] => 5 [mon] => 7 [year] => 1974 [yday] => 206 [weekday] => Friday [month] => July [0] => 144075618 )

4:09:11 am AM 12 Mon August 4 4 04 04 09 12 Monday 0 08 Aug 8 +0900 RFC2822 Mon, 12 Aug 1974 04:09:11 +0900 11 31 145480151 1 74 1974 223 32400 2003 Error date(): 145480151

 
  "date CDT 1974-08-12 04:09:11 am AM 12 Mon August 4 4 04 04 09 12 Monday 0 08 Aug 8 +0900 RFC2822 Mon, 12 Aug 1974 04:09:11 +0900 11 31 145480151 1 74 1974 223 32400 2003" (date len=169)
  "date CDT 1974-08-12 03:09:11 am AM 12 Mon August 3 3 03 03 09 12 Monday 0 08 Aug 8 +0800 RFC2822 Mon, 12 Aug 1974 03:09:11 +0800 11 31 145480151 1 74 1974 223 28800 2003" (adodb_date len=169)

Error getdate() 145480151
Array ( [seconds] => 11 [minutes] => 9 [hours] => 4 [mday] => 12 [wday] => 1 [mon] => 8 [year] => 1974 [yday] => 223 [weekday] => Monday [month] => August [0] => 145480151 )
Array ( [seconds] => 11 [minutes] => 9 [hours] => 3 [mday] => 12 [wday] => 1 [mon] => 8 [year] => 1974 [yday] => 223 [weekday] => Monday [month] => August [0] => 145480151 )

3 00:28:51 am AM 23 Sat August 12 0 12 00 28 23 Saturday 0 08 Aug 8 +0900 RFC2822 Sat, 23 Aug 1975 00:28:51 +0900 51 31 177953331 6 75 1975 234 32400 2003 Error date(): 177953331

 
  "date CDT 1975-08-23 00:28:51 am AM 23 Sat August 12 0 12 00 28 23 Saturday 0 08 Aug 8 +0900 RFC2822 Sat, 23 Aug 1975 00:28:51 +0900 51 31 177953331 6 75 1975 234 32400 2003" (date len=172)
  "date CDT 1975-08-22 23:28:51 pm PM 22 Fri August 11 23 11 23 28 22 Friday 0 08 Aug 8 +0800 RFC2822 Fri, 22 Aug 1975 23:28:51 +0800 51 31 177953331 5 75 1975 233 28800 2003" (adodb_date len=171)

Error getdate() 177953331
Array ( [seconds] => 51 [minutes] => 28 [hours] => 0 [mday] => 23 [wday] => 6 [mon] => 8 [year] => 1975 [yday] => 234 [weekday] => Saturday [month] => August [0] => 177953331 )
Array ( [seconds] => 51 [minutes] => 28 [hours] => 23 [mday] => 22 [wday] => 5 [mon] => 8 [year] => 1975 [yday] => 233 [weekday] => Friday [month] => August [0] => 177953331 )

5:45:32 pm PM 10 Mon June 3 15 03 15 45 10 Monday 0 06 Jun 6 +0900 RFC2822 Mon, 10 Jun 1974 15:45:32 +0900 32 30 140078732 1 74 1974 160 32400 2003 Error date(): 140078732

 
  "date CDT 1974-06-10 15:45:32 pm PM 10 Mon June 3 15 03 15 45 10 Monday 0 06 Jun 6 +0900 RFC2822 Mon, 10 Jun 1974 15:45:32 +0900 32 30 140078732 1 74 1974 160 32400 2003" (date len=168)
  "date CDT 1974-06-10 14:45:32 pm PM 10 Mon June 2 14 02 14 45 10 Monday 0 06 Jun 6 +0800 RFC2822 Mon, 10 Jun 1974 14:45:32 +0800 32 30 140078732 1 74 1974 160 28800 2003" (adodb_date len=168)

Error getdate() 140078732
Array ( [seconds] => 32 [minutes] => 45 [hours] => 15 [mday] => 10 [wday] => 1 [mon] => 6 [year] => 1974 [yday] => 160 [weekday] => Monday [month] => June [0] => 140078732 )
Array ( [seconds] => 32 [minutes] => 45 [hours] => 14 [mday] => 10 [wday] => 1 [mon] => 6 [year] => 1974 [yday] => 160 [weekday] => Monday [month] => June [0] => 140078732 )

8:05:18 am AM 31 Thu October 8 8 08 08 05 31 Thursday 0 10 Oct 10 +0800 RFC2822 Thu, 31 Oct 1974 08:05:18 +0800 18 31 152409918 4 74 1974 303 28800 2003 Error date(): 152409918

 
  "date CST 1974-10-31 08:05:18 am AM 31 Thu October 8 8 08 08 05 31 Thursday 0 10 Oct 10 +0800 RFC2822 Thu, 31 Oct 1974 08:05:18 +0800 18 31 152409918 4 74 1974 303 28800 2003" (date len=173)
  "date CST 1974-10-31 09:05:18 am AM 31 Thu October 9 9 09 09 05 31 Thursday 0 10 Oct 10 +0900 RFC2822 Thu, 31 Oct 1974 09:05:18 +0900 18 31 152409918 4 74 1974 303 32400 2003" (adodb_date len=173)

Error getdate() 152409918
Array ( [seconds] => 18 [minutes] => 5 [hours] => 8 [mday] => 31 [wday] => 4 [mon] => 10 [year] => 1974 [yday] => 303 [weekday] => Thursday [month] => October [0] => 152409918 )
Array ( [seconds] => 18 [minutes] => 5 [hours] => 9 [mday] => 31 [wday] => 4 [mon] => 10 [year] => 1974 [yday] => 303 [weekday] => Thursday [month] => October [0] => 152409918 )

6:17:26 am AM 29 Thu August 6 6 06 06 17 29 Thursday 0 08 Aug 8 +0900 RFC2822 Thu, 29 Aug 1974 06:17:26 +0900 26 31 146956646 4 74 1974 240 32400 2003 Error date(): 146956646

 
  "date CDT 1974-08-29 06:17:26 am AM 29 Thu August 6 6 06 06 17 29 Thursday 0 08 Aug 8 +0900 RFC2822 Thu, 29 Aug 1974 06:17:26 +0900 26 31 146956646 4 74 1974 240 32400 2003" (date len=171)
  "date CDT 1974-08-29 05:17:26 am AM 29 Thu August 5 5 05 05 17 29 Thursday 0 08 Aug 8 +0800 RFC2822 Thu, 29 Aug 1974 05:17:26 +0800 26 31 146956646 4 74 1974 240 28800 2003" (adodb_date len=171)

Error getdate() 146956646
Array ( [seconds] => 26 [minutes] => 17 [hours] => 6 [mday] => 29 [wday] => 4 [mon] => 8 [year] => 1974 [yday] => 240 [weekday] => Thursday [month] => August [0] => 146956646 )
Array ( [seconds] => 26 [minutes] => 17 [hours] => 5 [mday] => 29 [wday] => 4 [mon] => 8 [year] => 1974 [yday] => 240 [weekday] => Thursday [month] => August [0] => 146956646 )

3:06:52 pm PM 28 Tue May 1 13 01 13 06 28 Tuesday 0 05 May 5 +0900 RFC2822 Tue, 28 May 1974 13:06:52 +0900 52 31 138946012 2 74 1974 147 32400 2003 Error date(): 138946012

 
  "date CDT 1974-05-28 13:06:52 pm PM 28 Tue May 1 13 01 13 06 28 Tuesday 0 05 May 5 +0900 RFC2822 Tue, 28 May 1974 13:06:52 +0900 52 31 138946012 2 74 1974 147 32400 2003" (date len=168)
  "date CDT 1974-05-28 12:06:52 pm PM 28 Tue May 12 12 12 12 06 28 Tuesday 0 05 May 5 +0800 RFC2822 Tue, 28 May 1974 12:06:52 +0800 52 31 138946012 2 74 1974 147 28800 2003" (adodb_date len=169)

Error getdate() 138946012
Array ( [seconds] => 52 [minutes] => 6 [hours] => 13 [mday] => 28 [wday] => 2 [mon] => 5 [year] => 1974 [yday] => 147 [weekday] => Tuesday [month] => May [0] => 138946012 )
Array ( [seconds] => 52 [minutes] => 6 [hours] => 12 [mday] => 28 [wday] => 2 [mon] => 5 [year] => 1974 [yday] => 147 [weekday] => Tuesday [month] => May [0] => 138946012 )

4:29:22 am AM 30 Thu August 4 4 04 04 29 30 Thursday 0 08 Aug 8 +0900 RFC2822 Thu, 30 Aug 1979 04:29:22 +0900 22 31 304802962 4 79 1979 241 32400 2003 Error date(): 304802962

 
  "date CDT 1979-08-30 04:29:22 am AM 30 Thu August 4 4 04 04 29 30 Thursday 0 08 Aug 8 +0900 RFC2822 Thu, 30 Aug 1979 04:29:22 +0900 22 31 304802962 4 79 1979 241 32400 2003" (date len=171)
  "date CDT 1979-08-30 03:29:22 am AM 30 Thu August 3 3 03 03 29 30 Thursday 0 08 Aug 8 +0800 RFC2822 Thu, 30 Aug 1979 03:29:22 +0800 22 31 304802962 4 79 1979 241 28800 2003" (adodb_date len=171)

1:11:34 pm PM 21 Tue May 9 21 09 21 11 21 Tuesday 0 05 May 5 +0900 RFC2822 Tue, 21 May 1974 21:11:34 +0900 34 31 138370294 2 74 1974 140 32400 2003 Error date(): 138370294
 
  "date CDT 1974-05-21 21:11:34 pm PM 21 Tue May 9 21 09 21 11 21 Tuesday 0 05 May 5 +0900 RFC2822 Tue, 21 May 1974 21:11:34 +0900 34 31 138370294 2 74 1974 140 32400 2003" (date len=168)
  "date CDT 1974-05-21 20:11:34 pm PM 21 Tue May 8 20 08 20 11 21 Tuesday 0 05 May 5 +0800 RFC2822 Tue, 21 May 1974 20:11:34 +0800 34 31 138370294 2 74 1974 140 28800 2003" (adodb_date len=168)

Testing random dates between 100 and 4000

Testing 1970 to 1982, or 378432000 seconds, offset=54686: 1970 1971 1972 1973 1974 Error at 152464568, adodb_mktime returned 152468168 (11,01,1974,00,16,08)Tested 2788 dates

Failed :-(

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