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

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.

Link zu diesem Kommentar

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

 

 

Parameters -Date<DateTime>

Specifies a date and time. By default, Get-Date gets the current system date and time.

Type the date in a format that is standard for the system locale, such as dd-MM-yyyy (German [Germany]) or MM/dd/yyyy (English [united States]).

 

Get-Date nimmt nicht nur das aktuelle Datum.

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...