setformat : défini ou change le format d'entrée de de sortie de la date

Prototype :
BP_Date::setformat (
      const std::string BPformat)

BPformat
Format à appliquer pour les méthodes str et set.

Valeur de retour
Aucune.

Divers
Une erreur est générée si le format est vide.
Le contenu du format n'est pas vérifié.
ATTENTION : m représente les mois et n les minutes.

Les commandes reconnues sont :
d = numéro du jour réduit (exemple : 1)
dd = numéro du jour sur 2 caractères (exemple : 01)
m = numéro du mois réduit (exemple : 2)
mm = numéro du mois sur 2 caractères (exemple : 02)
yy = numéro de l'année réduit, sur 2 caractères (exemple : 01)
yyyy = numéro de l'année sur 4 caractères (exemple : 2001)
h = numéro des heures réduit (exemple : 3)
hh = numéro des heures sur 2 caractères (exemple : 03)
n = numéro des minutes réduit (exemple : 4)
nn = numéro des minutes sur 2 caractères (exemple : 04)
s = numéro des secondes réduit (exemple : 5)
ss = numéro des secondes sur 2 caractères (exemple : 05)
!x = génère le caratère x (exemple : "!d" donne "d")
Tous les autres caractères sont laissés tel que (exemple : "zrt#12" donne "zrt#12")
La méthode set accepte les mêmes formats que la méthode str, à condition que les commandes soient séparées par des séparateurs non numériques. (exemple : "dd#mm#yyyy" valide, "ddmmyyy" non valide pour la méthode set)
BP_Date::geterror() donne le code d'erreur.

Exemples pour le 1er février 2004 à 1 heure 2 minutes et 3 secondes
madate.setformat("dd/mm/yyyy hh:nn:ss"); donne "01/02/2004 01:02:03"
madate.setformat("dd/mm/yyyy"); donne "01/02/2004"
madate.setformat("d/m/yy"); donne "1/2/04"
madate.setformat("dd mm yyyy h n s"); donne "01 02 2004 1 2 3"
madate.setformat("mm/dd/yy"); donne "02/01/04"
madate.setformat("h:n"); donne "1:2"
madate.setformat("Nou!s !so!m!me!s le : d/m/yyyy"); donne "Nous sommes le : 1/2/2004"
madate.setformat("ddmmyyyy"); donne "01022004" format valide pour str mais pas pour set car il n'y a pas de séparateurs entre les commandes