Question plage horaire
- cylp
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 13
- Remerciements reçus 0
il y a 12 ans 1 mois #11225
par cylp
plage horaire a été créé par cylp
Bonjour,
Comment tester que le résultat d'un Get-date se trouve dans une plage horaire, par exemple entre le vendredi 19h et le dimanche 24h.
D'avance merci pour votre aide
Comment tester que le résultat d'un Get-date se trouve dans une plage horaire, par exemple entre le vendredi 19h et le dimanche 24h.
D'avance merci pour votre aide
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 12 ans 1 mois #11227
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:plage horaire
Salut,
une solution ici .
une solution ici .
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- cylp
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 13
- Remerciements reçus 0
il y a 12 ans 1 mois #11232
par cylp
Réponse de cylp sur le sujet Re:plage horaire
Bonjour Laurent et merci de t'intéresser à mon pb.
J'avais vu cette réponse, mais je ne vois pas ce qu'il faudrait affecter à $value de la ligne 11
if($time -match $value)
Bon week
P.S. Je regarde le deuxième solution<br><br>Message édité par: cylp, à: 26/02/12 12:53
J'avais vu cette réponse, mais je ne vois pas ce qu'il faudrait affecter à $value de la ligne 11
if($time -match $value)
Bon week
P.S. Je regarde le deuxième solution<br><br>Message édité par: cylp, à: 26/02/12 12:53
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 12 ans 1 mois #11233
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:plage horaire
cylp écrit:
Je voulais éviter la recopie, pour éviter le bruit lors d'une recherche, tant pis :
[code:1]
Function Test-IntervalDate{
#Être après vendredi 19H00 et avant lundi 00H00.
Param ( [DateTime] $CurrentDate )
$Result=$false
$Dow=$CurrentDate.DayOfWeek
#Lundi débutant à zéro heure est tjr exclu
#Samedi et dimanche tjr inclus
if ([System.DayOfWeek]::Monday..[System.DayOfWeek]::Friday -notContains $Dow)
{ $Result=$True }
#Test l'heure de vendredi
if ($Dow -eq [System.DayOfWeek]::Friday)
{
if (($CurrentDate.Hour -ge 19) -and ($CurrentDate.Minute -gt 0))
{ $Result=$True}
}
# elseif ($Dow -eq [System.DayOfWeek]::Monday)
# {
# if (($CurrentDate.Hour -lt 0) -and ($CurrentDate.Minute -lt 0))
# { $Result=$True }
# }
$Result
}#Test-IntervalDate
[/code:1]
Quelques tests :
[code:1]
$Ve1=\"10/02/2012 18:59\" -as [datetime]
$Ve2=\"10/02/2012 19:01\" -as [datetime]
$Sa=\"11/02/2012 12:00\" -as [datetime]
$Di1=\"12/02/2012 12:00\" -as [datetime]
$Di2=\"12/02/2012 23:59\" -as [datetime]
$Lu=\"13/02/2012 00:00\" -as [datetime]
$Ma=\"14/02/2012 08:29\" -as [datetime]
$Ve1,$Ve2,$Sa,$Di1,$Di2,$Lu,$Ma|
Foreach {
if (Test-IntervalDate $_)
{ Write-host \"La Date est concernée : $($_.tostring(\"f\"«»))\" }
}
#Utiliser Compare-Object pour afficher les dates concernées et celles qui ne le sont pas. [/code:1]
Je ne te cache pas que j'ai tenté de généraliser ce test, mais, par manque de temps, je laisse à d'autres le soin de le faire
A moins de trouver un code C# qui propose ce type de fonction...<br><br>Message édité par: Laurent Dardenne, à: 26/02/12 12:58
Le code que tu références n'est pas dans la solution que je te proposais.J'avais vu cette réponse, mais je ne vois pas ce qu'il faudrait affecter à $value de la ligne 11
if($time -match $value)
Je voulais éviter la recopie, pour éviter le bruit lors d'une recherche, tant pis :
[code:1]
Function Test-IntervalDate{
#Être après vendredi 19H00 et avant lundi 00H00.
Param ( [DateTime] $CurrentDate )
$Result=$false
$Dow=$CurrentDate.DayOfWeek
#Lundi débutant à zéro heure est tjr exclu
#Samedi et dimanche tjr inclus
if ([System.DayOfWeek]::Monday..[System.DayOfWeek]::Friday -notContains $Dow)
{ $Result=$True }
#Test l'heure de vendredi
if ($Dow -eq [System.DayOfWeek]::Friday)
{
if (($CurrentDate.Hour -ge 19) -and ($CurrentDate.Minute -gt 0))
{ $Result=$True}
}
# elseif ($Dow -eq [System.DayOfWeek]::Monday)
# {
# if (($CurrentDate.Hour -lt 0) -and ($CurrentDate.Minute -lt 0))
# { $Result=$True }
# }
$Result
}#Test-IntervalDate
[/code:1]
Quelques tests :
[code:1]
$Ve1=\"10/02/2012 18:59\" -as [datetime]
$Ve2=\"10/02/2012 19:01\" -as [datetime]
$Sa=\"11/02/2012 12:00\" -as [datetime]
$Di1=\"12/02/2012 12:00\" -as [datetime]
$Di2=\"12/02/2012 23:59\" -as [datetime]
$Lu=\"13/02/2012 00:00\" -as [datetime]
$Ma=\"14/02/2012 08:29\" -as [datetime]
$Ve1,$Ve2,$Sa,$Di1,$Di2,$Lu,$Ma|
Foreach {
if (Test-IntervalDate $_)
{ Write-host \"La Date est concernée : $($_.tostring(\"f\"«»))\" }
}
#Utiliser Compare-Object pour afficher les dates concernées et celles qui ne le sont pas. [/code:1]
Je ne te cache pas que j'ai tenté de généraliser ce test, mais, par manque de temps, je laisse à d'autres le soin de le faire
A moins de trouver un code C# qui propose ce type de fonction...<br><br>Message édité par: Laurent Dardenne, à: 26/02/12 12:58
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- cylp
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 13
- Remerciements reçus 0
il y a 12 ans 1 mois #11236
par cylp
Réponse de cylp sur le sujet Re:plage horaire
Merci Laurent,
Je viens de tester quelques trucs de mon côté du genre :
$Timenow = [DateTime]::Now
if (($Timenow.DayOfWeek.value__ -eq 5) -and ($Timenow.TimeOfDay.Hours -ge 19) `
-or ($Timenow.DayOfWeek.value__ -eq 0 -and $Timenow.TimeOfDay.Hours -le 24) `
-or ($Timenow.DayOfWeek.value__ -eq 6))
{ \"Nous somme bien entre vendredi 19H00 et lundi 00H00\"}
else
{ \"Nous ne somme pas entre vendredi 19H00 et lundi 00H00\"}
Ca a l'air de fonctionner : je teste...
Je viens de tester quelques trucs de mon côté du genre :
$Timenow = [DateTime]::Now
if (($Timenow.DayOfWeek.value__ -eq 5) -and ($Timenow.TimeOfDay.Hours -ge 19) `
-or ($Timenow.DayOfWeek.value__ -eq 0 -and $Timenow.TimeOfDay.Hours -le 24) `
-or ($Timenow.DayOfWeek.value__ -eq 6))
{ \"Nous somme bien entre vendredi 19H00 et lundi 00H00\"}
else
{ \"Nous ne somme pas entre vendredi 19H00 et lundi 00H00\"}
Ca a l'air de fonctionner : je teste...
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.075 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- plage horaire