Avatar billede tripwire Nybegynder
26. september 2012 - 20:47 Der er 1 kommentar og
1 løsning

Powershell: find ugenummer og find ugedagen som nummer

Hej Eksperten

Er der nogen der ligger inde med 2 powershell funktioner (eller kommandoer) der returnere:

1. Det ugenummer på året som man er i lige nu? Jeg har prøvet "Get-Date -UFormat %V" som virker fint, lige indtil det bliver lørdag, hvorefter den skifter til næste ugenummer. Ugen skal gå fra mandag til søndag...

2. Ugedagen reprænsenteret som et tal. Mandag = 1, Onsdag = 3 og søndag = 7.. Jeg kunne nok godt selv skrive en if statement der løb igennem de forskellige valg, men tænker der må være en snild måde at gøre det på, som jeg ikke lige kender..

Tak :)

/Tripwire
Avatar billede michaelsorensen Nybegynder
26. september 2012 - 22:00 #1
Hej,

1.
Det er desværre ikke bare lige til, powershell sætter første dag i ugen til søndag og derved ikke følger ISO8601 standarden.

Prøv dette:

function ConvertTo-ISOWeekDate
{
param(
    [Parameter(Position = 0, ValueFromPipeLine = $true)]
    [DateTime]
    $Date = [DateTime]::Today,
    [Switch]
    $WeekNumberOnly
  )
process
  {
    [int]$dayOfWeek = $Date.DayOfWeek
    if (-not $dayOfWeek)
  {$dayOfWeek = 7}
    $midWeek = $Date.AddDays(4 - $dayOfWeek)
    $year = $midWeek.year
    $week = [Math]::Ceiling($midWeek.DayOfYear / 7)
    if ($WeekNumberOnly.IsPresent)
    {
      $week
      }
  else
    {
      '{1:00}' -f $year, $week, $dayOfWeek # '{0:0000}-W{1:00}-{2}' -f $year, $week, $dayOfWeek
      }
  }

}

$weeknr = ConvertTo-ISOWeekDate
write-host $weeknr

2.
Denne er lige til højreskøjten:

$date = Get-Date
$date.DayOfWeek.value__
Avatar billede tripwire Nybegynder
28. september 2012 - 18:01 #2
Mange tak.. :) lige hvad jeg skulle bruge for at komme videre..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester