Page 1 sur 1

Probleme de date

Posté : 10 juin 2005, 15:17
par Invité
Bonjour,

Dans ma base de données mes dates sont au format americains par exemple : 2005/02/21 et j ai deux question :

Je dispose d 'un formulaire de saisie et je voudrais que l'utilisateur puisse sasir la date au format français et qu'elle se convetisse directement au format americains au moment d'être inserer dans ma table.

Et je voudrais que quand j 'affiche une donnée sur un de mes formulaires issu d'un champs date de ma table que cette date apparaisse au format français.

Existerait il une fonction php qui permette de faire cela directement, sans passer par un decoupage de la date à l'aide de fonction ??

Merci à tous.

Posté : 10 juin 2005, 15:36
par Hywan
bonjour :)

quel est alors l'avantage d'enregistrer la date au format US ?

Posté : 10 juin 2005, 15:37
par fab
je pense pas qu'il éxiste de fonction php mais tu peux faire sans:
<?php
$date_en = "2005/05/21";
$date_array = explode('/',$date_en);
$date_fr = $date_array[2] . '/' . $date_array[1] . '/'. $date_array[0];
?>
et l'inverse
<?php
$date_fr = "30/06/1988"; // ma date de naissance :p
$date_array = explode('/',$date_fr);
$date_en = $date_array[2] . '/' . $date_array[1] . '/' . $date_array[0];
?>

regex - pcre

Posté : 10 juin 2005, 15:44
par Hywan
ou sinon, on peut faire une regex no ?

$date="2005/06/10";  
preg_match ('#(\d{4})/(\d{1,2})/(\d{1,2})#', $date, $out);  
echo $out['3'].'/'.$out['2'].'/'.$out['1']; 
:wink:

j'edit : non teste

Posté : 10 juin 2005, 15:45
par Invité
je souhaite pas l ' enregistrer au format us ,ce qu'il y a c'est que le format sur ma base postgres est celui la aaaa/mm/jj et donc je suis obligé de la saisir dans ce format et si je veux l'afficher je suis obligé de la convertir

Re: regex - pcre

Posté : 10 juin 2005, 15:48
par fab
ou sinon, on peut faire une regex no ?

$date="2005/06/10";  
preg_match ('#(\d{4})/(\d{1,2})/(\d{1,2})#', $date, $out);  
echo $out['3'].'/'.$out['2'].'/'.$out['1']; 
:wink:

j'edit : non teste
c'est bien les regex mais faut que ça soit vraiment indispensable car niveau performances c'est assez lourd. Donc quand on peut utiliser une fonction php pour la même chose vaut mieux le faire :)

Posté : 14 juin 2005, 11:40
par donny
ya sa si tu veux c est plus simple
<?
$taDateUs="2005/05/12";
$madate=date('d/m/Y', strtotime($taDateUs));
echo $madate;


?>