1--TEST-- 2Bug #33414 [2] (Comprehensive list of incorrect days returned after strotime() / date() tests) 3--FILE-- 4<?php 5print "TZ=Pacific/Rarotonga - wrong day.\n"; 6date_default_timezone_set("Pacific/Rarotonga"); 7$tStamp = mktime (17, 17, 17, 1, 1, 1970); 8print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; 9$strtotime_tstamp = strtotime("next Tuesday", $tStamp); 10print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; 11print "wanted=Tuesday 00:00:00\n\n"; 12 13print "TZ=Atlantic/South_Georgia - wrong day.\n"; 14date_default_timezone_set("Atlantic/South_Georgia"); 15$tStamp = mktime (17, 17, 17, 1, 1, 1970); 16print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; 17$strtotime_tstamp = strtotime("next Tuesday", $tStamp); 18print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; 19print "wanted=Tuesday 00:00:00\n\n"; 20 21print "TZ=America/Port-au-Prince - wrong day.\n"; 22date_default_timezone_set("America/Port-au-Prince"); 23$tStamp = mktime (17, 17, 17, 1, 12871, 1970); 24print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; 25$strtotime_tstamp = strtotime("next Monday", $tStamp); 26print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; 27print "wanted=Monday 00:00:00\n\n"; 28 29print "TZ=Pacific/Enderbury - wrong day, off by 2 days.\n"; 30date_default_timezone_set("Pacific/Enderbury"); 31$tStamp = mktime (17, 17, 17, 1, 1, 1970); 32print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; 33$strtotime_tstamp = strtotime("next Monday", $tStamp); 34print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; 35print "wanted=Monday 00:00:00\n\n"; 36 37print "TZ=Pacific/Kiritimati - wrong day, off by 2 days.\n"; 38date_default_timezone_set("Pacific/Kiritimati"); 39$tStamp = mktime (17, 17, 17, 1, 1, 1970); 40print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; 41$strtotime_tstamp = strtotime("next Monday", $tStamp); 42print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; 43print "wanted=Monday 00:00:00\n\n"; 44 45print "TZ=America/Managua - wrong day.\n"; 46date_default_timezone_set("America/Managua"); 47$tStamp = mktime (17, 17, 17, 1, 12879, 1970); 48print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; 49$strtotime_tstamp = strtotime("next Tuesday", $tStamp); 50print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; 51print "wanted=Tuesday 00:00:00\n\n"; 52 53print "TZ=Pacific/Pitcairn - wrong day.\n"; 54date_default_timezone_set("Pacific/Pitcairn"); 55$tStamp = mktime (17, 17, 17, 1, 1, 1970); 56print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; 57$strtotime_tstamp = strtotime("next Wednesday", $tStamp); 58print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; 59print "wanted=Wednesday 00:00:00\n\n"; 60 61print "TZ=Pacific/Fakaofo - wrong day.\n"; 62date_default_timezone_set("Pacific/Fakaofo"); 63$tStamp = mktime (17, 17, 17, 1, 1, 1970); 64print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; 65$strtotime_tstamp = strtotime("next Saturday", $tStamp); 66print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; 67print "wanted=Saturday 00:00:00\n\n"; 68 69print "TZ=Pacific/Johnston - wrong day.\n"; 70date_default_timezone_set("Pacific/Johnston"); 71$tStamp = mktime (17, 17, 17, 1, 1, 1970); 72print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; 73$strtotime_tstamp = strtotime("next Friday", $tStamp); 74print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; 75print "wanted=Friday 00:00:00\n\n"; 76?> 77--EXPECT-- 78TZ=Pacific/Rarotonga - wrong day. 79tStamp=Thursday 1970-01-01 17:17:17 -1030 0 80result=Tuesday 1970-01-06 00:00:00 -1030 0 81wanted=Tuesday 00:00:00 82 83TZ=Atlantic/South_Georgia - wrong day. 84tStamp=Thursday 1970-01-01 17:17:17 -02 0 85result=Tuesday 1970-01-06 00:00:00 -02 0 86wanted=Tuesday 00:00:00 87 88TZ=America/Port-au-Prince - wrong day. 89tStamp=Monday 2005-03-28 17:17:17 EST 0 90result=Monday 2005-04-04 00:00:00 EDT 1 91wanted=Monday 00:00:00 92 93TZ=Pacific/Enderbury - wrong day, off by 2 days. 94tStamp=Thursday 1970-01-01 17:17:17 -12 0 95result=Monday 1970-01-05 00:00:00 -12 0 96wanted=Monday 00:00:00 97 98TZ=Pacific/Kiritimati - wrong day, off by 2 days. 99tStamp=Thursday 1970-01-01 17:17:17 -1040 0 100result=Monday 1970-01-05 00:00:00 -1040 0 101wanted=Monday 00:00:00 102 103TZ=America/Managua - wrong day. 104tStamp=Tuesday 2005-04-05 17:17:17 CST 0 105result=Tuesday 2005-04-12 00:00:00 CDT 1 106wanted=Tuesday 00:00:00 107 108TZ=Pacific/Pitcairn - wrong day. 109tStamp=Thursday 1970-01-01 17:17:17 -0830 0 110result=Wednesday 1970-01-07 00:00:00 -0830 0 111wanted=Wednesday 00:00:00 112 113TZ=Pacific/Fakaofo - wrong day. 114tStamp=Thursday 1970-01-01 17:17:17 -11 0 115result=Saturday 1970-01-03 00:00:00 -11 0 116wanted=Saturday 00:00:00 117 118TZ=Pacific/Johnston - wrong day. 119tStamp=Thursday 1970-01-01 17:17:17 HST 0 120result=Friday 1970-01-02 00:00:00 HST 0 121wanted=Friday 00:00:00 122