Jump to content

Powershell - Datum aus Variable formatieren


Direkt zur Lösung Gelöst von Theweber,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo Zusammen,

 

da Powershell ja viel kann wollte ich jetzt auch mal ein bischen damit anfangen :)

 

und zack schon das erste Problem.

 

Google findet keine ahnung 10000 einträge wie ich ein Datum Formatiere allerdings nicht wie ich mir das vorstelle.

 

Und zwar.

 

Ich übergebe in mein powershell eine Variabel

diese Variable enthält das Datum im Format dd.mm.jjjj 00:00:00 (Beispiel 12.06.2016 22:00:00)

 

Wie schaffe ich es jetzt diese Variable, nenen wir Sie mal $Date umzuwandeln das aus diesem Datum immer der Folge Tag rauskommt.

 

Also aus 12.06.2016 22:00:00 soll werden 13.06.2016 rauskommen.

Dieses möchte ich dann in die Varible $Date2 übergeben.

 

Danke für eure Hilfe

Wahrscheilich ist es recht einfach aber ich finde leider nix dazu.

Geschrieben

Moin,

 

ich weiß ja nicht, wie du suchst, aber ich finde unter den ersten Suchergebnissen schnell Lösungen. Beispiele:

http://www.powershellmagazine.com/2013/07/08/pstip-converting-a-string-to-a-system-datetime-object/

https://technet.microsoft.com/en-us/library/ff730960.aspx

 

Auf die Schnelle bau ich damit:

function Convert-DateString 
{
   param
   (
     [string]
     $Date,

     [String[]]
     $Format
   )

   $result = New-Object DateTime
 
   $convertible = [DateTime]::TryParseExact(
      $Date,
      $Format,
      [System.Globalization.CultureInfo]::InvariantCulture,
      [System.Globalization.DateTimeStyles]::None,
      [ref]$result)
 
   if ($convertible) { $result } else {'nonconvertible'}
}

$MyDate = '12.06.2016 22:00:00'

$ConvDate = (Convert-DateString -Date $MyDate -Format 'dd.MM.yyyy HH:mm:ss')
Write-Host $ConvDate
$ConvDate.DayOfWeek
$ConvDate.AddDays(1)

Das ist dann eine sehr flexible Variante. Da dein Datum vermutlich in einem einfachen Format vorliegt, tut es auch dies:

$MyDate = Get-Date '12.06.2016 22:00:00'
$MyDate
$MyDate.DayOfWeek
$MyDate.AddDays(1)

Gruß, Nils

Geschrieben (bearbeitet)

Also aus 12.06.2016 22:00:00 soll werden 13.06.2016 rauskommen.

Dieses möchte ich dann in die Varible $Date2 übergeben.

[DateTime]$Date = $(get-date)

$date.ToShortDateString() # Ausgabe 1

$date2 = $date.AddDays(1)

$date2.ToShortDateString() # Ausgabe 2

=> Ausgabeergebnis

23.06.2016
24.06.2016
 
Eine weitere Variante  :wink2:
 
Oder ein Einzeiler
([DateTime]::Parse('23.06.16')).AddDays(1).ToShortDateString()
bearbeitet von MurdocX
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...