Jump to content
  • 0

Obtenir le dernier jour du mois (date)


fkeller
 Share

Question

Bj,

 

Je ne trouve pas cette fonction dans FMP, ni ne voit comment rédiger cette fonction de calcul liée aux calendriers.

 

En clair, j'ai créé une rubrique Date initiale qui détermine la date de départ et ensuite, j'ai créé 30 rubriques définies par le calcul: date initiale +1 ( résultats au format date). J'aimerais que FM détermine par un calcul si la 28ème, 29ème, 30ème ou 31ème rubrique est calculée ou non, selon que le mois et l'année concernés (et qui tienne compte des variations dues aux années bissextiles).

Qui peut m'aider à réaliser ou qui connaît cette fonction qui retourne la dernière date du mois en fonction de l'année ? (p. ex en 2021, le mois de février s'arrête au 28, mais en 2024, il ira jusqu'au 29. Ou bien, le mois d'août de n'importe quelle année s'arrête à 30 ou celui d'octobre à 31) ?

Merci pour vos astuces !

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Bonjour,

Voici une piste : Jour ( Date ( mois ; jour , année ) )

La fonction Date retourne la date suivant les trois paramètres mois, jour et année. La fonction Jour extrait le numéro du jour d'une date. Avec cette formule nous pouvons déterminer le dernier jour d'un mois et d'une année donnés.

Voici donc une formule :

// pour connaître le dernier jour du mois de février 2022 :
JOUR ( DATE ( 3 ; 0 ; 2022 ) )

// Pour connaître le dernier jour d'un mois donné :
// JOUR ( DATE ( mois souhaité + 1 ; 0 ; année souhaitée ) )

En mettant 0 comme valeur pour jour dans la fonction Date cela revient à écrire Date ( mois ; 1 ; année ) - 1, ou Date ( mois ; 1 - 1 ; année ) donc Date ( mois ; 0 ; année ) qui retourne la veille du 1er du mois et de l'année.

Link to comment
Share on other sites

  • 0
Il y a 6 heures, David Julot a dit :

Date ( mois ; 1 ; année ) - 1

J'avoue que je faisais plutôt ça…  😅

Link to comment
Share on other sites

  • 0

Salut tout le monde

C'est cool j'étais également en train de me poser la question

David et Jérémie, c'est d'une logique redoutable effectivement 😉

Merci et bonnes fetes à tous

Link to comment
Share on other sites

  • 0
Il y a 16 heures, MagalieJ a dit :

Et ce qui est intéressant, c’est qu’un nombre négatif va « remonter le temps » dans le mois précédent, si je me souviens bien.

Dans les limites admissibles de FileMaker Pro, à savoir

  • pour les dates 01/01/0001 … 31/12/4000
  • pour les horodatages : 01/01/0001 00:00:00 … 31/12/4000 23:59:59
Link to comment
Share on other sites

  • 0
Le 23/12/2021 à 20:38, MagalieJ a dit :

dans le mois précédent, si je me souviens bien

Et si nécessaire dans l'année précédente ! Ce qui nous épargne bien des complications du type «si je prends 3 semaines de préparation avant une livraison prévue le 5 janvier 2022, il faut que je dise à FileMaker que vu qu'on est en janvier de l'année X et que la durée du délai est supérieure au numéro du jour de livraison, il doit remonter à décembre de l'année X-1».

Combien de développeurs novices mettent en place des tas de SI et de CAS pour gérer tout ça, alors que FMP le fait nativement

Joyeuse Nativité !   🤗

Link to comment
Share on other sites

  • 0
Il y a 6 heures, Jérémie Gimenez a dit :

Et si nécessaire dans l'année précédente ! Ce qui nous épargne bien des complications du type «si je prends 3 semaines de préparation avant une livraison prévue le 5 janvier 2022, il faut que je dise à FileMaker que vu qu'on est en janvier de l'année X et que la durée du délai est supérieure au numéro du jour de livraison, il doit remonter à décembre de l'année X-1».

Combien de développeurs novices mettent en place des tas de SI et de CAS pour gérer tout ça, alors que FMP le fait nativement

Joyeuse Nativité !   🤗

Bonsoir Jérémie,

Pour continuer la discussion, si l'on souhaite soustraire ou ajouter 3 semaines à une date, rien de plus simple puisque la durée d'une semaine étant fixe (7 jours), il suffit d'utiliser la formule :

  • date + 3 * 7 pour ajouter 3 semaines à une date, que l'on peut bien évidemment écrire date + 21
  • date - 3 * 7 pour retrancher 3 semaines à une date, que l'on peut bien évidemment écrire date - 21

Il faut se rappeler que FileMaker Pro stocke une date sous forme d'un nombre de jours qui nous sépare du 01/01/0001. Pour un horodatage, FIleMaker Pro stocke un horodatage sous forme d'une nombre de secondes qui nous sépare du 01/01/0001 00:00:00.

Link to comment
Share on other sites

  • 0

Bonjour,

Lorsque j'applique exactement la formule de David, j'obtiens "dimanche 28 janvier 0001"… Késako ?

Est-ce quelqu'un pourrait m'expliquer ?

Par avance, merci.

Link to comment
Share on other sites

  • 0
Il y a 4 heures, Dimdem a dit :

Bonjour,

Lorsque j'applique exactement la formule de David, j'obtiens "dimanche 28 janvier 0001"… Késako ?

Est-ce quelqu'un pourrait m'expliquer ?

Par avance, merci.

Bonsoir,

Je pense que vous avez spécifié Date comme type de résultat de calcul et non Nombre. Car le nombre 28 dans une formule qui retourne une date correspond au 28e jour depuis l'origine du calendrier de FileMaker qui est le 1/01/0001 donc le 28/01/0001 🙂 

Link to comment
Share on other sites

  • 0
Le 30/01/2022 à 21:54, David Julot a dit :

Je pense que vous avez spécifié Date comme type de résultat de calcul et non Nombre. Car le nombre 28 dans une formule qui retourne une date correspond au 28e jour depuis l'origine du calendrier de FileMaker qui est le 1/01/0001 donc le 28/01/0001

Merci David,

Faut l'savoir ! Effectivement, ne n'étais pas intéressé par le 28 janvier de l'an 1 !

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...