DatumFormaat Str -> Datum

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

 - Diov  -

- Diov -

08/08/2014 13:25:01
Quote Anchor link
Beste,

Ik heb wat problemen met Datums ...
Een gebruik heeft voorbeeld de verkoopdatum in, in een tekstvakje met volgend formaat:

09/08/2014

PHP Kan dit zien als 9 augustus, of ook als 8 september.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$date
= date("d-m-Y", strototime("09/08/2014"));

# Daarna in een query plaatsen.
# PHP kan dit zien als 9 augustus, of ook als 8 september.


?>


Hoe los ik dit probleem op?
** knip **
Gewijzigd op 11/06/2017 12:18:25 door - Ariën -
 
PHP hulp

PHP hulp

20/04/2024 07:53:55
 
- Ariën  -
Beheerder

- Ariën -

08/08/2014 13:32:18
Quote Anchor link
Uit php.net:
"Parse about any English textual datetime description into a Unix timestamp"

8 september dus alleen.
 
Ward van der Put
Moderator

Ward van der Put

08/08/2014 13:35:08
Quote Anchor link
In een query wordt daarom de ISO-notatie yyyy-mm-dd gebruikt: dan heb je geen last van de verwisseling mm/dd versus dd/mm.
 
 - Diov  -

- Diov -

08/08/2014 13:42:28
Quote Anchor link
Oké, bedankt voor de info.
Nu is de vraag hoe ik een datum in volgend formaat "9/08/2014" goed kan 'omtoveren' zodat ik hem verder kan gebruiken.

Moet ik dan met substring gaan werken? Of met Regex?
 
- Ariën  -
Beheerder

- Ariën -

08/08/2014 13:53:06
Quote Anchor link
Geen van beiden, je wilt juist geen characters strippen of aanpassen, maar de volgorde veranderen.
Voorgaand dit script moet je "09/08/2014" explode()'n op de slash.

Dan kan je de opbouw van de datum aanpassen.
 
Ivo P

Ivo P

08/08/2014 17:45:30
Quote Anchor link
hier is de functie http://nl1.php.net/manual/en/datetime.createfromformat.php misschien wel handig.

In elk geval minder omslachtig dan zelf met / gaan exploden

bijv:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$date
= date_create_from_format('j-M-Y', '15-Feb-2009');
echo date_format($date, 'Y-m-d');
?>
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

08/08/2014 18:21:42
Quote Anchor link
Gelijk in de query kan ook:
Code (sql)
PHP script in nieuw venster Selecteer het PHP script
1
INSERT INTO tabelnaam (kolomnaam) VALUES (STR_TO_DATE('09/08/2014', '%d/%m/%Y'))
 
 - Diov  -

- Diov -

08/08/2014 18:51:52
Quote Anchor link
Hallo,

Dit is de oplossing:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
#08-08-2014
$verkoopdate = DateTime::createFromFormat('d-m-Y', Input::get('extra'));
?>
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

08/08/2014 19:16:24
Quote Anchor link
Maar dan heb je het nog niet in de database.
Als je dit in PHP doet, is het string_naar_datum -> datum_naar_string
Dat scheelt sowieso al één stap.

En met één stap is SQL al 10x zo snel
 



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.