Scénario fin mois et event

Bonjour
J’ai un scénario qui transmet dans un virtuel des données dont le mois. Cela doit se faire en fin de mois. Si je lance le scénario pour le 31 à 23h59, il ne le fait que les mois de 31 jours et idem pour les mois de 30 jours. Si je le lance à 00h01, pas de soucis pour les données, mais j’ai comme info mois le mois suivant. Faut-il passer par un code?

Tu lances le scénario, les 28, 29, 30 et 31 du mois.

Dans un premier bloc SI, tu regardes si le n° du mois du jour en cours est différent du n° du mois du jour suivant. Si vrai, tu es bien le dernier jour du mois.

Pour la même chose, j’avais suivi ce que dit Jeandhom et qu’avait complété Prkalken aussi il me semble.

Déclencheur du scénario :
58 23 28-31 * *
et le Si du scénario :
date(d,#timestamp# +86400) == 01

1 « J'aime »

Je n’avais pas pensé à cela. J’étais à la recherche de comment mettre à 00h01 le mois d’avant… j’ai essayé bêtement #smonth-1#… mais ça marche pas!! Peut-être savez vous si c’est possible. Merci pour votre aide.

Heu je pense qu’il y a clairement plus simple que d’ajouter ou enlever un jour, surtout si comme @rennais35000 on utilise directement la fonction date de php.

Il y a un format de date php t qui donne le nombre de jours dans le mois actuel (28 à 31) .

Donc sans faire de calcul, il suffit de vérifier si le jour actuel est égal ou non au dernier jour du mois.

Soit date(t) == #jour#

image

Et donc dans cet exemple, on est le 29 soit pas le dernier jour du mois de novembre qui en compte 30 :wink:

3 « J'aime »

Salut,

Jamais eu l’occasion de tester en pratique mais à priori il est possible d’utiliser le symbole L dans la programmation cron pour que le scénario s’exécute le dernier jour du mois 59 23 L * * :

3 « J'aime »

Effectivement pas mal de chose intéressante, c’est beau le savoir :slight_smile: Merci
Je colle pour que ça serve aux autres.

```
d - The day of the month (from 01 to 31)
D - A textual representation of a day (three letters)
j - The day of the month without leading zeros (1 to 31)
l (lowercase 'L') - A full textual representation of a day
N - The ISO-8601 numeric representation of a day (1 for Monday, 7 for Sunday)
S - The English ordinal suffix for the day of the month (2 characters st, nd, rd or th. Works well with j)
w - A numeric representation of the day (0 for Sunday, 6 for Saturday)
z - The day of the year (from 0 through 365)
W - The ISO-8601 week number of year (weeks starting on Monday)
F - A full textual representation of a month (January through December)
m - A numeric representation of a month (from 01 to 12)
M - A short textual representation of a month (three letters)
n - A numeric representation of a month, without leading zeros (1 to 12)
t - The number of days in the given month
L - Whether it's a leap year (1 if it is a leap year, 0 otherwise)
o - The ISO-8601 year number
Y - A four digit representation of a year
y - A two digit representation of a year
a - Lowercase am or pm
A - Uppercase AM or PM
B - Swatch Internet time (000 to 999)
g - 12-hour format of an hour (1 to 12)
G - 24-hour format of an hour (0 to 23)
h - 12-hour format of an hour (01 to 12)
H - 24-hour format of an hour (00 to 23)
i - Minutes with leading zeros (00 to 59)
s - Seconds, with leading zeros (00 to 59)
u - Microseconds (added in PHP 5.2.2)
e - The timezone identifier (Examples: UTC, GMT, Atlantic/Azores)
I (capital i) - Whether the date is in daylights savings time (1 if Daylight Savings Time, 0 otherwise)
O - Difference to Greenwich time (GMT) in hours (Example: +0100)
P - Difference to Greenwich time (GMT) in hours:minutes (added in PHP 5.1.3)
T - Timezone abbreviations (Examples: EST, MDT)
Z - Timezone offset in seconds. The offset for timezones west of UTC is negative (-43200 to 50400)
c - The ISO-8601 date (e.g. 2013-05-05T16:34:42+00:00)
r - The RFC 2822 formatted date (e.g. Fri, 12 Apr 2013 12:01:05 +0200)
U - The seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
2 « J'aime »

En français si besoin pour ceux qui maitrisent mois la langue de Shakespeare :wink:

https://www.php.net/manual/fr/datetime.format.php

Merci Salvialf je garde en tête (surtout dans mes notes), un peu confidentiel peut-être je n’ai pas trouvé dans les testeurs de cron. Enfin les 3 ou 4 du net que j’utilise :innocent:

Super et simple…Merci

Interessant merci pour ce partage :slight_smile:

Par contre comment tu as trouvé ça ? Je ne crois pas l’avoir déja vu dans aucune doc de jeedom :expressionless:

Bonjour,

C’est tellement peu décrit que j’ai fait chou blanc sur les site FR.

https://www.netiq.com/documentation/cloud-manager-2-5/ncm-reference/data/bexyssf.html

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.