Savoir si une date est un dimanche
Résolu/Fermé
dna.factory
Messages postés
25364
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
21 novembre 2024
-
12 nov. 2012 à 16:10
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 13 nov. 2012 à 13:53
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 13 nov. 2012 à 13:53
A voir également:
- Savoir si une date est un dimanche
- Comment ouvrir un fichier dat - Guide
- Somme si date comprise entre ✓ - Forum Excel
- Formule excel si date supérieur à une autre date ✓ - Forum Excel
- Trouver une date de naissance gratuit ✓ - Forum Google Chrome
5 réponses
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
13 nov. 2012 à 09:25
13 nov. 2012 à 09:25
calculer le jour d'une date avec ncal
$ set 25 12 2012 ; ncal $2 $3 | awk -v d=$1 '{for(n=2; n<=NF;n++)if($n == d){print $1; exit }}' Tu $ set 14 11 2012 ; ncal $2 $3 | awk -v d=$1 '{for(n=2; n<=NF;n++)if($n == d){print $1; exit }}' We $ set 25 12 2012 ; ncal $2 $3 | awk -v d=$1 '{for(n=2; n<=NF;n++)if($n == d){print $1; exit }}' Tu $ set 6 1 2013 ; ncal $2 $3 | awk -v d=$1 '{for(n=2; n<=NF;n++)if($n == d){print $1; exit }}' Su $
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
Modifié par dubcek le 12/11/2012 à 16:26
Modifié par dubcek le 12/11/2012 à 16:26
hello
la commande date SCO connait ces options?
la commande date SCO connait ces options?
$ date +%a -d tomorrow Tue $ date +%a -d "now+4 days" Fri $ date +%a -d "12/25/2012" Tue
dna.factory
Messages postés
25364
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
21 novembre 2024
1 613
12 nov. 2012 à 16:44
12 nov. 2012 à 16:44
pour les deux premiers, je sais que c'est pas le cas, c'est du linux (ça a été une révolution pour nos scripteurs quand on est passé à linux)
pour le dernier, déja c'est pas dans le man, donc ça me parrait peut probable.
# date +%a -d "12/25/2012"
Usage: date [-u] [+format]
date [-u] [-t [[CC]YYMMDDhhmm[.SS] | MMDDhhmm[YY] ]
# date +%a -d 122512
Usage: date [-u] [+format]
date [-u] [-t [[CC]YYMMDDhhmm[.SS] | MMDDhhmm[YY] ]
# date +%a -d "122512"
Usage: date [-u] [+format]
date [-u] [-t [[CC]YYMMDDhhmm[.SS] | MMDDhhmm[YY] ]
Après vérification j'ai bien ce -d sur une debian (dans le man), mais pas sur du sco Unix.
merci quand même.
pour le dernier, déja c'est pas dans le man, donc ça me parrait peut probable.
# date +%a -d "12/25/2012"
Usage: date [-u] [+format]
date [-u] [-t [[CC]YYMMDDhhmm[.SS] | MMDDhhmm[YY] ]
# date +%a -d 122512
Usage: date [-u] [+format]
date [-u] [-t [[CC]YYMMDDhhmm[.SS] | MMDDhhmm[YY] ]
# date +%a -d "122512"
Usage: date [-u] [+format]
date [-u] [-t [[CC]YYMMDDhhmm[.SS] | MMDDhhmm[YY] ]
Après vérification j'ai bien ce -d sur une debian (dans le man), mais pas sur du sco Unix.
merci quand même.
dna.factory
Messages postés
25364
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
21 novembre 2024
1 613
12 nov. 2012 à 16:50
12 nov. 2012 à 16:50
options farfelue que je préfererais éviter.
stocker la date actuelle dans une variable.
Modifier la date actuelle lors du déroulement de mon script, pour pouvoir utiliser date +%a sur le now
remettre la date courante à la fin du script.
(techniquement, ça devrait marcher)
Option moins farfelue mais un peu compliquée pour la valeur ajoutée
je récupère la quantième du jour de la semaine en décimal avec %u lors du lancement du script
j'incrémente la valeur en même temps que j'incrémente le jour du mois. et quand j'arrive à +6, je fais mon cas de figure, et je le reset à 0/1
en l'écrivant comme ça, ça a pas l'air trop terrible, je garde ça dans un coin faute de mieux.
stocker la date actuelle dans une variable.
Modifier la date actuelle lors du déroulement de mon script, pour pouvoir utiliser date +%a sur le now
remettre la date courante à la fin du script.
(techniquement, ça devrait marcher)
Option moins farfelue mais un peu compliquée pour la valeur ajoutée
je récupère la quantième du jour de la semaine en décimal avec %u lors du lancement du script
j'incrémente la valeur en même temps que j'incrémente le jour du mois. et quand j'arrive à +6, je fais mon cas de figure, et je le reset à 0/1
en l'écrivant comme ça, ça a pas l'air trop terrible, je garde ça dans un coin faute de mieux.
dna.factory
Messages postés
25364
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
21 novembre 2024
1 613
13 nov. 2012 à 10:11
13 nov. 2012 à 10:11
une autre bidouille, pour savoir quel jour de la semaine on sera dans n jours.
je récupère le quantième avec %u
j'ajoute n
et je fais un modulo 7
Pas utile dans mon cas, vu que je boucle en incrémentant les jours de toute façon, et que j'ai besoin de vérifier à chaque incrémentation, donc la méthode d'au dessus est mieux.
je récupère le quantième avec %u
j'ajoute n
et je fais un modulo 7
Pas utile dans mon cas, vu que je boucle en incrémentant les jours de toute façon, et que j'ai besoin de vérifier à chaque incrémentation, donc la méthode d'au dessus est mieux.
dna.factory
Messages postés
25364
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
21 novembre 2024
1 613
13 nov. 2012 à 10:07
13 nov. 2012 à 10:07
Dubcek : merci beaucoup, mais je pense que c'est mort pour moi dans le cas présent, je pense que je vais avoir recours au scripting et je vais réinventer le fil à couper le beurre.
Par contre ça sert aux autres, et tu as largement répondu à la question, c'est pas ta faute, si je travaille sur un système qui date du siecle dernier.
Je passe en résolu car tu as donné deux bonnes réponses pour les autres
Si tu trouves d'autres idées, envoie toujours, on sait jamais.
Par contre ça sert aux autres, et tu as largement répondu à la question, c'est pas ta faute, si je travaille sur un système qui date du siecle dernier.
Je passe en résolu car tu as donné deux bonnes réponses pour les autres
Si tu trouves d'autres idées, envoie toujours, on sait jamais.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
13 nov. 2012 à 10:25
13 nov. 2012 à 10:25
avec cal
$ set 1 1 2013 ; cal $2 $3 | awk -v d=$1 '/^ / {gsub(" ", "xx ")} NR==2 {split($0,a);next} {for(n=1; n<=NF;n++)if($n == d){print a[n]; exit }}' Tu $
dna.factory
Messages postés
25364
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
21 novembre 2024
1 613
Modifié par dna.factory le 13/11/2012 à 12:18
Modifié par dna.factory le 13/11/2012 à 12:18
Je dis : "Monsieur " !!
ça marche.
Tu m'as perdu à
J'essaye de comprendre par moi même, et je reviens vers toi si j'ai besoin d'explications.
ça marche.
Tu m'as perdu à
'/^ /
J'essaye de comprendre par moi même, et je reviens vers toi si j'ai besoin d'explications.
dna.factory
Messages postés
25364
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
21 novembre 2024
1 613
13 nov. 2012 à 13:39
13 nov. 2012 à 13:39
ok, j'ai globalement compris
la parti split($0,a);next snip print a[n] est un peu floue, mais je comprends l'idée générale.
ça reste un truc de bourrin...
la parti split($0,a);next snip print a[n] est un peu floue, mais je comprends l'idée générale.
ça reste un truc de bourrin...
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
Modifié par dubcek le 13/11/2012 à 14:40
Modifié par dubcek le 13/11/2012 à 14:40
le gsub sert à avoir 7 champs sur chaque ligne, pour ensuite utiliser a[n], n étant le No du champ et a contenant les jours:
$ cal 12 2012| awk '/^ / {gsub(" ", "xx ")} {print}' xx December 2012 Su Mo Tu We Th Fr Sa xx xx xx xx xx xx 1 2 3 4 5 6 7 8 ...on pourrait aussi remplacer le gsub par:
BEGIN{FIELDWIDTHS="3 3 3 3 3 3 3"}FIELDWIDTHS est une option gawk, inconnue des vieux awk
Modifié par dna.factory le 13/11/2012 à 10:07
root@LECBIARRITZ:/home/sesadm# man ncal
Reformatting ncal(1), please wait...
root@LECBIARRITZ:/home/sesadm# ncal
November 2012
Mo 5 12 19 26
Tu 6 13 20 27
We 7 14 21 28
Th 1 8 15 22 29
Fr 2 9 16 23 30
Sa 3 10 17 24
Su 4 11 18 25
Sous unix :
# man ncal
man: ncal not found
# ncal
ncal: not found
Merci quand même, je connaissais pas ncal