begin process at 2012 05 27 21:59:55
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date / Heure

 > CALCUL D'UNE TRAITE (ÉCHÉANCE)

CALCUL D'UNE TRAITE (ÉCHÉANCE)


 Information sur la source

Note :
Aucune note
Catégorie :Date / Heure Classé sous :traite, réglement, échéance, finance, paiement Niveau :Débutant Date de création :05/09/2007 Date de mise à jour :11/09/2007 23:53:23 Vu :24 027

Auteur : MagicManu

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Calcul de l'échéance de réglement d'une traite en fonction d'une date de départ, d'un délai de réglement et du jour de réglement (jour à 0 pour fin de mois).

Exemple :
Traite à 90 jours fin de mois à partir de aujourd'hui (05-09-2007) : TRAITE au 31/12/2007

Source

  • <?PHP
  • function CalculTraite($DateDepart, $DelaisReglement, $JourReglement){
  • // Calcule la date d'une traite (échéance)
  • // Ex : $TimeStamp = CalculTraite('01-08-2007', 90, 15);
  • // $Date = date("d/m/Y", $TimeStamp);
  • // Date de départ
  • $TableDate = explode('-', $DateDepart);
  • $Jour = $TableDate[0];
  • $Mois = $TableDate[1];
  • $Annee = $TableDate[2];
  • // Nb de jour a avancer, qu'on calcule plutôt en mois si on peux
  • if (($DelaisReglement % 30 == 0) and $DelaisReglement>=30){
  • $NbMois = $DelaisReglement / 30;
  • $DelaisReglement = 0;
  • }
  • else
  • $NbMois = 0;
  • // On controle le Nb de jour maxi dans le mois
  • $NbJourMois = date("t", mktime(0, 0, 0, $Mois+$NbMois, $Jour+$DelaisReglement, $Annee));
  • if ($JourReglement>$NbJourMois or empty($JourReglement))
  • $JourReglement = $NbJourMois;
  • $d = 0;
  • // On avance la date jusqu'au bon jour (exemple : le 15) en plus du délais (30J, 60J...)
  • while (date("d", $TimeStamp) != $JourReglement){
  • $TimeStamp = mktime(0, 0, 0, $Mois+$NbMois, $Jour+$DelaisReglement+$d, $Annee);
  • // On re-controle le Nb de jour maxi dans le mois
  • $NbJourMois = date("t", $TimeStamp);
  • if ($JourReglement>$NbJourMois)
  • $JourReglement = $NbJourMois;
  • $d++;
  • if ($d > 31) break; // Sécurité contre une boucle infinie
  • }
  • return $TimeStamp;
  • }
  • // Exemple :
  • $TimeStamp = CalculTraite('01-08-2007', 90, 15);
  • echo date("d/m/Y", $TimeStamp);
  • ?>
<?PHP
function CalculTraite($DateDepart, $DelaisReglement, $JourReglement){
// Calcule la date d'une traite (échéance)
// Ex : $TimeStamp = CalculTraite('01-08-2007', 90, 15);
//      $Date      = date("d/m/Y", $TimeStamp);

  // Date de départ
  $TableDate = explode('-', $DateDepart);
  $Jour      = $TableDate[0];
  $Mois      = $TableDate[1];
  $Annee     = $TableDate[2];

  // Nb de jour a avancer, qu'on calcule plutôt en mois si on peux
  if (($DelaisReglement % 30 == 0) and $DelaisReglement>=30){
    $NbMois          = $DelaisReglement / 30;
    $DelaisReglement = 0;
  }
  else
    $NbMois = 0;

  // On controle le Nb de jour maxi dans le mois
  $NbJourMois = date("t", mktime(0, 0, 0, $Mois+$NbMois, $Jour+$DelaisReglement, $Annee));
  if ($JourReglement>$NbJourMois or empty($JourReglement))
    $JourReglement = $NbJourMois;

  $d = 0;
  // On avance la date jusqu'au bon jour (exemple : le 15) en plus du délais (30J, 60J...)
  while (date("d", $TimeStamp) != $JourReglement){
  	$TimeStamp  = mktime(0, 0, 0, $Mois+$NbMois, $Jour+$DelaisReglement+$d, $Annee);

  	// On re-controle le Nb de jour maxi dans le mois
  	$NbJourMois = date("t", $TimeStamp);
    if ($JourReglement>$NbJourMois)
      $JourReglement = $NbJourMois;

  	$d++;
  	if ($d > 31) break; // Sécurité contre une boucle infinie
  }

  return $TimeStamp;
}



// Exemple :
$TimeStamp = CalculTraite('01-08-2007', 90, 15);
echo date("d/m/Y", $TimeStamp);
?>

 Conclusion

Ma 1ère source, j'attend vos avis ;)


 Historique

06 septembre 2007 08:14:39 :
Correction des fautes d'orthographe ;)
11 septembre 2007 23:53:23 :
Ajout des balises PHP pour la couleur du code.

 Sources du même auteur

REDUCTION D'UNE IMAGE À L'ÉCRAN PAR RAPPORT À UNE TAILLE MAX...

 Sources de la même categorie

Source avec une capture AGENDA GRAPHIQUE SIMPLE (DÉBUTANT) À INTÉGRER par NicomakM
CALCUL DU NOMBRE DE JOURS CONTENUS DANS L'INTERSECTION DE DE... par curphey
CALENDRIER EN 70 LIGNES par tchconst
Source avec Zip CALENDRIER par gabay
CALENDRIER SIMPLE par manuche

 Sources en rapport avec celle ci

Source avec Zip MES COMPTES EN DIRECT V0.5 ALPHA par lymphis
Source avec Zip ACCEPTER ET GÉRER LES PAIEMENTS VIA PAYPAL par jmobylette

Commentaires et avis

Commentaire de malalam le 08/09/2007 10:27:37 administrateur CS

Hello,

ça aurait plus sa place sur codyx.org, ça.
Mais : un mois ne fait pas forcément 30 jours. Ca se saurait.

Commentaire de MagicManu le 11/09/2007 23:41:38

Je n'ai jamais dis qu'un mois faisait 30 jours !
Simplement tu verras que dans le monde professionnel on parle toujours de traite à 30 jours, 60 jours, 120 jours... Or, on veux bien sûr parler de 1 mois, 2 mois, 4 mois... Et ma fonction le prend en compte !

Commentaire de hocinoptimiste le 30/09/2007 18:16:23

en ce momment je le trouve  tres interessant

Commentaire de Disicom le 28/03/2011 09:26:40

Merci pour ce code !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Paiement sécurisé [ par Tasuki ] Quelqu'un pourrait il me dire comment fonctionne les systhème de paiement en ligne sécurisé ???Je programme un site en PHP et nous serions intérressé Formulaire et passerelle de paiement. [ par Tranquilou ] Bonjour, Voilà, ça fait quelques temps que j'essaie de me mettre au PHP pour développer des formulaires et une passerelle de paiement de type Eurowebp Paiement Direct en Ligne [ par zeeleyou ] Bonjour, Je d&#233;veloppe actuellement un e-commerce pour perfectionner mes connaissances et pourquoi pas, m'en servir plus tard. Je vois d&#233;j&#2 Créer un site comunotaire et de paiement en ligne [ par Parisyne ] Bonjour je voudrai savoir ccomment faire pour pour cr&#233;er un site de paiement en ligne ? je vous explique ce que je veux faire : Un site pour notr [PHP] exec + lien relatif ( Paiement sécurisé SSL) [ par nitrique ] David, à VERSAILLES date d'inscription et date d'échéance +365 jours ??? [ par sebalex ] Salut &#224; tous,Un client s'inscrit &#224; travers mon site et dans la BDD&nbsp;la valeur&nbsp;"date_ins"&nbsp;prend "2005-08-01" (format MySql). En Problème if($total<25) si montant supérieur a 1000 [ par Tit0x ] Hello tout le monde :)Jai un petit pb, j'ai mit une limite de 25€ pour un paiement par CB, donc quand on commande des produit pour un total de moins d paiement sécurise le code source en php [ par azma_dali ] salut pour ts le monde je sius etde en informatique je veux bien un petit aide pour la programmtion en php et merci paiement cb [ par lecoach37 ] bonjour,est ce que qq as une info fiable sur la fermeture des centres de paiement ?je voudrais pas faire d'erreur pour ma boutique en lignele coach37 Supprimer fichier [ par Sandy084 ] Bonjour,J'ai créé une boucle dans laquelle je supprime tous les messages archivés cochés.Je souhaiterai également supprimer tous les dossiers contenan


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales