Dagen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Arie van de Brug

Arie van de Brug

21/04/2016 19:26:53
Quote Anchor link
De opdracht is,

laat de dag van vandaag zien
de hoeveelste dag van het jaar
Welke maand het is
hoeveel dagen heeft de huidige maand

dit is wat ik nu heb,

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$datum
= date("j F Y");
$dagvanweek = date("l");
$arraydag = array(
"zondag",
"maandag",
"dinsdag",
"woensdag",
"donderdag",
"vrijdag",
"zaterdag"
);
$dagvanweek = $arraydag[date("w")];
$arraymaand = array(
"januari",
"februari",
"maart",
"april",
"mei",
"juni",
"juli",
"augustus",
"september",
"oktober",
"november",
"december"
);
$datum = date("j ") . $arraymaand
[date("n") - 1] . date(" Y");
echo "Vandaag is het $dagvanweek, $datum.";  
?>
Gewijzigd op 24/04/2016 20:46:51 door - Ariën -
 
PHP hulp

PHP hulp

21/11/2024 19:09:24
 
- SanThe -

- SanThe -

21/04/2016 20:31:04
 
Arie van de Brug

Arie van de Brug

21/04/2016 20:45:58
Quote Anchor link
Dit had ik inderdaad al bekeken.
helaas wordt ik hier niet veel wijzer uit.
 
- SanThe -

- SanThe -

21/04/2016 20:54:02
Quote Anchor link
Dan zal je toch een gerichte vraag moeten stellen.
Wij maken namelijk geen huiswerk voor anderen.
 

21/04/2016 22:45:14
Quote Anchor link
Soms is het best nuttig om huiswerk te maken. Want wat moet je met een antwoord als je niet kunt uitleggen hoe je er toe gekomen bent? Hier is alvast een antwoord:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
header('Content-type: text/plain');
extension_loaded('intl') or die('intl extentie afwezig');
define('EOL', "\r\n", FALSE);
Locale::setDefault('nl-NL');   // RFC 4646

$oTijdzone = IntlTimeZone::createTimeZone('Europe/Amsterdam');
$sLocale = Locale::getDefault() . '@calendar=gregorian';
$oKalender = IntlCalendar::createInstance($oTijdzone, $sLocale);
$oFormatter = new IntlDateFormatter(
  Locale::getDefault(),
  IntlDateFormatter::FULL,  // datum
  IntlDateFormatter::NONE,  // tijd
  $oTijdzone,
  IntlDateFormatter::GREGORIAN,
  'eeee, d MMMM y'  // http://userguide.icu-project.org/formatparse/datetime
);

print
  'Vandaag is het ' . $oFormatter->format($oKalender) . '.' . EOL
. 'Dit is de ' . $oKalender->get(IntlCalendar::FIELD_DAY_OF_YEAR)
.
'e dag van het jaar.' . EOL
. 'Dit is de ' . ($oKalender->get(IntlCalendar::FIELD_MONTH) + 1)
.
'e maand van het jaar.' . EOL
. 'De huidige maand heeft ' . $oKalender->getActualMaximum(
  IntlCalendar::FIELD_DAY_OF_MONTH) . ' dagen.' . EOL
. 'Het huidige jaar is ' . ($oKalender->getActualMaximum(
  IntlCalendar::FIELD_MONTH) == 11 ? 'g' : 'wel ') . 'een schrikkeljaar.' . EOL
  ;
?>

Voorbeelduitvoer:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
Vandaag is het donderdag, 21 april 2016.
Dit is de 112e dag van het jaar.
Dit is de 4e maand van het jaar.
De huidige maand heeft 30 dagen.
Het huidige jaar is geen schrikkeljaar.
Gewijzigd op 21/04/2016 22:46:50 door
 
- SanThe -

- SanThe -

21/04/2016 23:21:14
Quote Anchor link
An tje op 21/04/2016 22:45:14:
Voorbeelduitvoer:

Vandaag is het donderdag, 21 april 2016.
Dit is de 112e dag van het jaar.
Dit is de 4e maand van het jaar.
De huidige maand heeft 30 dagen.
Het huidige jaar is geen schrikkeljaar.
Gewijzigd op 21/04/2016 23:22:06 door - SanThe -
 

21/04/2016 23:29:31
Quote Anchor link
LOL! En dat tegen middernacht!
En, hoe jij het verbeteren, zonder date('L') ?
Ah, ik ben er al, verkeerde property gebruikt.. Erratum:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
. 'Het huidige jaar is ' . ($oKalender->get(
  IntlCalendar::FIELD_DAY_OF_YEAR) == 365  ? 'g' : 'wel ') . 'een schrikkeljaar.' . EOL
  ;

Voorbeelduitvoer:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Het huidige jaar is wel een schrikkeljaar.
Gewijzigd op 21/04/2016 23:39:43 door
 
Arie van de Brug

Arie van de Brug

22/04/2016 08:55:24
Quote Anchor link
ik gebruik Xampp, en krijg deze foutmelding

intl extentie afwezig?

alvast bedankt!
 

22/04/2016 10:41:39
Quote Anchor link
Uhm, tsja, de intl-extentie moet wel zijn geladen in XAMPP, en kennelijk heb je dat dan nog niet. Wijzen naar de documentatie op php.net (http://php.net/manual/en/intl.requirements.php) heeft in jouw geval weinig zin, maar er staat dat het meegeleverd wordt vanaf PHP 5.3, dus waarschijnlijk hoef je de extentie alleen nog maar aan te zetten, ofwel te laden bij het starten van PHP.
Je bent uiteraard niet de enige die dit probleem met XAMPP heeft, het antwoord is al een keer eerder gegeven op StackOverflow:
http://stackoverflow.com/questions/33869521/how-can-i-enable-php-extension-intl
Enige nadeel is dat het artikel in het Engels is..
 
Ward van der Put
Moderator

Ward van der Put

22/04/2016 10:57:13
Quote Anchor link
XAMPP heeft inderdaad php_intl.dll aan boord. Je moet de extensie alleen nog even inschakelen.

1. Open php.ini in \xampp\php\.

2. Verwijder de commentaar-puntkomma voor de regel:

;extension=php_intl.dll

3. Start Apache opnieuw op.
 

22/04/2016 11:06:37
Quote Anchor link
Dankjewel Ward, voor de nederlandstalige uitwerking :-)
Addendum: in XAMPP kan je het configuratiebestand php.ini ook openen via het XAMPP Control Panel naar een teksteditor, als ik het me goed herinner door achter Apache op de knop Config te drukken.
Na het aanpassen kan je Apache eenvoudig opnieuw starten weer via het XAMPP Control Panel, door eerst op Stop te klikken, te wachten (dan verandert de knoptekst Stop naar Start) en dan weer op Start te drukken. Nog even wachten en dan verschijnt een melding dat Apache is gestart.
Vervolgens kan je de code nog eens problemen uit te voeren, en dan moet de melding dat de intl extentie afwezig is plaats gemaakt hebben voor een uitvoer vergelijkbaar met de voorbeelduitvoer.
 
Arie van de Brug

Arie van de Brug

22/04/2016 12:39:01
Quote Anchor link
.

Toevoeging op 22/04/2016 12:39:19:

..

Toevoeging op 22/04/2016 12:45:26:

Super bedank!
 

22/04/2016 13:03:27
Quote Anchor link
Zeg Arie, waarom heb je je vraag verwijderd? Dat maakt ons topic minder leesbaar voor anderen?
 
- SanThe -

- SanThe -

22/04/2016 13:05:33
Quote Anchor link
Al je posts leeg maken maakt het topic nutteloos.
Niet meer doen dus.
 
- Ariën  -
Beheerder

- Ariën -

24/04/2016 19:02:57
Quote Anchor link
- Ariën -:
Arie, graag wil ik je vriendelijk verzoeken deze terug te plaatsen. Het is namelijk niet toegestaan om berichten te verwijderen. Hiermee is het topic niet alleen voor andere nutteloos, en valt ook de kennis als 'knowledgebase' voor andere gebruikers weg.
Gewijzigd op 24/04/2016 19:03:14 door - Ariën -
 
Arie van de Brug

Arie van de Brug

24/04/2016 20:33:00
Quote Anchor link
Dit wil ik wel doen, er staat alleen dat ik het bericht niet kan wijzigen.
 
- Ariën  -
Beheerder

- Ariën -

24/04/2016 20:39:34
Quote Anchor link
Stuur de originele topicstart en de oplossing dan even in een privé bericht naar mij.
Dan plaats ik ze terug.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.