[php] Windows does not support dates prior to midnight *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wanneer ik een calenderscriptje laat draaien op de webserver, dan krijg ik steevast volgende melding:

"Warning: date() [function.date]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in D:\home\SVI-GIJZEGEM.BE\www\forum\cal_lite.php on line 928"

Mijn server draait dus op windows en mijn vraag is: is het soms mogelijk om een verandering aan te brengen aan het onderstaand script zodat het wel werkt? En zo ja, over welke verandering gaat het dan?

Deel script :

PHP:
1
2
3
4
5
6
7
8
9
10
$currentmonth = create_date("m", time(), $userdata['user_timezone']);

$template->set_filenames(array(
'body' => 'cal_day_events_lite_nh.tpl')
);

$lastseconds = mktime(0,0,0,$month,$day,$year)-(24*60*60);
$lastday = date('j', $lastseconds);
$lastmonth = date('m', $lastseconds);
$lastyear = date('Y', $lastseconds);

Acties:
  • 0 Henk 'm!

  • BlaTieBla
  • Registratie: November 2000
  • Laatst online: 10:09

BlaTieBla

Vloeken En Raak Schieten

Waarom zou je verder terug willen in de tijd? 1970 is WAAAYYYY back :-)

Maar zoals de fout al aan geeft, is het een Windows beperking. Wellicht dat je met custom scritpnig wat verder terug kan. Nadeel is dat je dan zelf al je schrikkeljaren e.d. moet gaan lopen uitregelen.

leica - zeiss - fuji - apple | PSN = Sh4m1n0


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 12 september 2004 @ 09:51:
PHP:
1
$lastseconds = mktime(0,0,0,$month,$day,$year)-(24*60*60);
Print die waarde van lastseconds eens en ga eens na of dit ongeveer overeenkomt met het aantal seconden sinds 1 januari 1970 @ 00:00 tot de datum die je zoekt.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Een print van lastseconds geeft: "-86401". Brengt dit ons al dichter bij een oplossing, of is dit juist slecht?

Acties:
  • 0 Henk 'm!

  • Ultra
  • Registratie: Maart 2000
  • Niet online
Wat is de waarde van $month, $day, $year? ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Een print van deze laatste drie geeft niks weer

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:31

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 12 september 2004 @ 10:41:
Een print van deze laatste drie geeft niks weer
Dus wordt het opgevat als 0, wordt mktime(0,0,0,0,0,0) ingevuld, levert de minimale datum op van 1/1/1970 0.00 uur en jij wilt er nog onder kruipen, wat niet kan en dus de foutmelding oplevert.

[ Voor 8% gewijzigd door gorgi_19 op 12-09-2004 10:45 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nochtans krijg ik die foutmelding bij het oproepen van de calender events voor vandaag ...
Is er geen enkele manier om aan deze foutmelding te ontlopen zodat het script toch werkt?

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:31

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 12 september 2004 @ 10:52:
Nochtans krijg ik die foutmelding bij het oproepen van de calender events voor vandaag ...
Is er geen enkele manier om aan deze foutmelding te ontlopen zodat het script toch werkt?
:?

Je geeft aan dat VANDAAG 1/1/1970 is, omdat de variabelen niet gevuld zijn / 0 zijn. Wil je de foutmelding ontlopen zonder de variabelen goed te vullen, dan sloop je de functie er uit :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1