Question [Resolu]date du prochain jour de la semaine donné

Plus d'informations
il y a 14 ans 7 mois #10066 par fabien
Bonjour,

Je cherche un moyen simple en Powershell (ou autre) permettant d'obtenir la date du prochain jour de la semaine à partir d'un jour donné.

Exemple :
Aujourd'hui nous sommes le mercredi 17 août 2011.
Le prochain mardi est le 23 août 2011.

Une idée ?

Merci<br><br>Message édité par: Phebus, à: 18/08/11 10:34

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #10068 par olivia
Bonsoir,

que cherchez vous exactement ?

la commande [code:1]date[/code:1] permet d'afficher : le jour même.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #10069 par Richard Lazaro
Bonjour,

PowerShell manipule des objets et peut utiliser le framework dotnet (2.0 mini)

Ce framework nous donne un objet de type Datetime qui permet de jouer avec les dates msdn.microsoft.com/fr-fr/library/system....me%28v=vs.80%29.aspx

Donc :

[code:1]
$date = Get-Date -Day 17 -Month 8 -Year 2011
$date.AddDays(1)
[/code:1]

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\&quot;Problems cannot be solved by the same level of thinking that created them.\\&quot; - Albert Einstein

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #10070 par fabien
Bonjour,

Merci pour ces retours.

J'ai bien étudié l'objet et la fonction mais je n'ai pas trouvé mon bonheur.

Ce que je souhaite c'est un -next permettant de donner la date du prochain jour de la semaine donné.

Ex : get-date -next \&quot;monday\&quot; -&gt; 22 August 2011

Malheureusement, get-date -next n'existe pas...

Ahhh

Merci<br><br>Message édité par: Phebus, à: 18/08/11 08:47

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #10071 par Richard Lazaro
Il existe une propriété DayOfWeek qui nous donne le jour en lettre :

[code:1]
PS C:\Users\richardl&gt; (Get-Date).DayofWeek
Thursday
[/code:1]

Le problème c'est que cela change en fonction de la langue (il me semble).
On peut aussi obtenir l'indice du jour de la semaine avec le paramètre UFormat :

[code:1]
PS C:\Users\richardl&gt; Get-Date -UFormat '%u'
4
[/code:1]

La correspondance de l'indice :

0 Dim
1 Lun
2 Mar
3 Mer
4 Jeu
5 Ven
6 Dim


Donc, la méthode simple qui me vient à l'esprit :
- Récupérer la date du jour
- Récupérer l'indice qu'on veut obtenir (donc le prochain jour) soit via une correspondance pour passer en paramètre un jour en lettre.
- Faire une boucle qui parcours jour par jour jusqu'à tomber sur le même indice

J'ai pas trop le temps de coder ceci c'est pour cela que je te donne l'algo ;)

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\&quot;Problems cannot be solved by the same level of thinking that created them.\\&quot; - Albert Einstein

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #10072 par fabien
Merci pour la réponse.

Je vais partir sur ça :
[code:1]
function next-day{
param(
[parameter(Mandatory=$true)]
[String]
$NextDay
)

$listDays = @{\&quot;Monday\&quot;=1;\&quot;Tuesday\&quot;=2;\&quot;Wednesday\&quot;=3;\&quot;Thursday\&quot;=4;\&quot;Friday\&quot;=5;\&quot;Saturday\&quot;=6;\&quot;Sunday\&quot;=7}

$day = Get-Date -UFormat '%u'

if ( $listDays.$NextDay -gt $day ){
$delay = $listDays.$NextDay - $day
} else {
$delay = 7 - ($day - $listDays.$NextDay)
}
return (get-date).AddDays($delay)
}
[/code:1]

Dommage que ce ne soit pas directement implémenté mais bon c'est pas la mort :)

Merci

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.056 secondes
Propulsé par Kunena