PowerShell, Get-Date, Sommerzeit Winterzeit, Zeitumstellung
Hallo,
ich verwende folgendes Skript zur Stapelverarbeitung von CSV Dateien:
In den zu bearbeitenden CSV Dateien liegt das Datumsformat wie folgt vor CET:
Am 29.03.215 wurde die Uhrzeit um 02:00 Uhr Winterzeit auf 03:00Uhr Sommerzeit verstellt.
Das Skript gibt mir die an dem jeweiligen Tag herrschende Zeit unter Berücksichtigung von Sommer und Winterzeit aus.
Ich möchte, dass das Skript die Zeit immer in Winterzeit ausgibt.
Könnt ihr mir bitte helfen?
VG
ich verwende folgendes Skript zur Stapelverarbeitung von CSV Dateien:
# Schritt 1: Einlesen der CSV Dateien
workflow MergeCSV {
param([string]$path)
# Dateien die verarbeitet werden ermitteln
$files = Get-ChildItem -Path $path -File -Recurse -Filter '*.csv'
#Funktion die eine CSV entsprechend bearbeitet und modifiziert zurückgibt
function Process-CSV($file){
$content = Get-Content -Path $file.FullName | select -skip 7
return ($content[0..($content.GetUpperBound(0)-1)] | ConvertFrom-CSV -Delimiter ";" -Header "Colour","Car","TimeStamp","Note","PublicationTimeStamp","ModificationTimeStamp" | select -Property 'Car','ID',@{n='TimeStamp';e={get-date -Date $_.Timestamp -Format 'dd-MM-yyyy HH:mm:ss'}},'Note',@{n='PublicationTimeStamp';e={get-date -Date $_.PublicationTimeStamp -Format 'dd-MM-yyyy HH:mm:ss'}},@{n='ModificationTimeStamp';e={get-date -Date $_.ModificationTimeStamp -Format 'dd-MM-yyyy HH:mm:ss'}})
}
foreach -parallel -throttle 8 ($csv in $files){
# rufe Funktion zum Bearbeiten der CSV-Datei in Parallelverarbeitung auf
Process-CSV -file $csv
}
}
$CSV_PATH = 'C:\Daten Bearbeitung\Import'
$outVW = 'C:\Daten Bearbeitung\Export\VW.csv'
$outAudi= 'C:\Daten Bearbeitung\Export\Audi.csv'
$outVWred = 'C:\Daten Bearbeitung\Export\VWred.csv'
$outVWblue = 'C:\Daten Bearbeitung\Export\VWblue.csv'
$outAudired= 'C:\Daten Bearbeitung\Export\Audired.csv'
$outAudiblue= 'C:\Daten Bearbeitung\Export\Audiblue.csv'
MergeCSV -path $CSV_PATH | select "Car","Colour","TimeStamp","Note","PublicationTimeStamp","ModificationTimeStamp" | group {$_.Car} | %{
$group = $_.group
switch ($_.Name){
'VW'{
$group | ?{$_."Colour" -eq 'red'} | export-csv -Path $outVWred -NoTypeInformation -Encoding "UTF8" -Delimiter ";" -Append
$group | ?{$_."Colour" -eq 'blue'} | export-csv -Path $outVWblue -NoTypeInformation -Encoding "UTF8" -Delimiter ";" -Append
$group | export-csv -Path $outVW -NoTypeInformation -Encoding "UTF8" -Delimiter ";" -Append
}
'Audi'{
$group | ?{$_."Colour" -eq 'red'} | export-csv -Path $outAudired -NoTypeInformation -Encoding "UTF8" -Delimiter ";" -Append
$group | ?{$_."Colour" -eq 'blue'} | export-csv -Path $outAudiblue -NoTypeInformation -Encoding "UTF8" -Delimiter ";" -Append
$group | export-csv -Path $outAudi -NoTypeInformation -Encoding "UTF8" -Delimiter ";" -Append
}
} $group | export-csv -Path $out -NoTypeInformation -Encoding "UTF8" -Delimiter ";" -Append
}
In den zu bearbeitenden CSV Dateien liegt das Datumsformat wie folgt vor CET:
2015-03-29T01:00:00+01:00
2015-03-29T03:00:00+02:00
2015-03-29T04:00:00+02:00
Am 29.03.215 wurde die Uhrzeit um 02:00 Uhr Winterzeit auf 03:00Uhr Sommerzeit verstellt.
Das Skript gibt mir die an dem jeweiligen Tag herrschende Zeit unter Berücksichtigung von Sommer und Winterzeit aus.
Ich möchte, dass das Skript die Zeit immer in Winterzeit ausgibt.
Könnt ihr mir bitte helfen?
VG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 329790
Url: https://administrator.de/forum/powershell-get-date-sommerzeit-winterzeit-zeitumstellung-329790.html
Ausgedruckt am: 27.04.2025 um 23:04 Uhr
6 Kommentare
Neuester Kommentar

(get-date).ToUniversalTime().AddHours(1)

Wow, au möhr ... immer diese copy n' paster... und tschö
(get-date).ToUniversalTime().AddHours(1).toString('dd-MM-yyyy HH:mm:ss')

Dieses Skript gibt mir immer nur die Aktuelle heutige Zeit und nicht die Zeit aus der CSV Datei wieder.
Oh man war ja klar, ist sichtlich Wochenende ...lesen scheint nicht deine Stärke zu sein ....(get-date -Date $_.PublicationTimeStamp).ToUniversalTime().AddHours(1).toString('dd-MM-yyyy HH:mm:ss')
Viel Spaß noch bei deinem XXL-Ratespiel.