Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Powershell - locale Problem bei get-date

Frage Entwicklung Batch & Shell

Mitglied: rana-mp

rana-mp (Level 1) - Jetzt verbinden

17.06.2011 um 13:02 Uhr, 7142 Aufrufe, 5 Kommentare

Wie kann ich bei Uebergeben eines Datums als String an get-date angeben in welchem Format das Datum ist?

Hallo zusammen,

ich mache in der Powershell folgende Zuweisung:

01.
$datum = get-date "10.06.2011"
Grundsaetzlich funktioniert das gut, der String wird in ein Date-Time Objekt umgewandelt mit dem ich dann weiterarbeiten kann. Ich habe jetzt aber das Problem, das auf dem System auf dem das script laufen soll, auf englisch (US-EN) ist, also auch das englische Datumsformat in der Systemsteuerung definiert ist. Das kann ich nicht aendern.
Powershell interpretiert mir den String also als Datum im amerikanischem Format als mm.dd.yyyy.
Da die Strings die ich dem Script uebergebe das Datum aber im deutschen Format dd.mm.yyyy enthalten, bekomme ich im besten Fall eine Fehlermeldung (wenn ich zB 14.06.2011 uebergebe) oder falsche Werte wenn ich mit dem Datum arbeiten will, zB. wenn ich $datum.dayofyear aufrufe.

In der Powershell Dokumentation habe ich leider nicht gefunden wie ich bei einer solchen Zuweisung das Format angeben kann. Ich habe einige Sachen mit -uformat und -format getestet, aber leider funktioniert es nicht.


Gruss,

rana-mp
Mitglied: Friemler
17.06.2011 um 13:14 Uhr
Hallo rana-mp,

schau mal hier nach.

Gruß
Friemler
Bitte warten ..
Mitglied: rana-mp
17.06.2011 um 13:44 Uhr
Hallo Friemler,

Leider hilft mir das nicht so richtig weiter. Die Datumsformatierungen scheinen wohl nur bei der Ausgabe eines Datums zu greifen. Das hilft dann leider nicht wenn schon bei der Eingabe das Datum flasch vom System interpretiert wird.

Wenn ich zB. dieses versuche:

01.
get-date  "14.11.2011" -format "dd.MM.yyyy"
bekomme ich eine Fehlermeldung:
01.
Get-Date : Cannot bind parameter 'Date'. Cannot convert value "14.11.2011" to type "System.DateTime". Error: "String was not recognized as a valid DateTime."
Bei einem Datum wie zB. dem 10.06.2011 bekomm ich keine Fehlermeldung, aber wenn ich das Datum dann ausgebe ist, wird 06.10.2011 draus:

01.
PS C:\Users\XXX> get-date "10.06.2011"  -format "dd.MM.yyyy"  
02.
06.10.2011
Das heist ja im Endeffekt das der -format Befehl sich scheinbar nur auf die Ausgabe bezieht, er den Input aber immer anhand der eingestellten locale interpretiert. Stelle ich diese auf DE um funktioniert es richtig. Leider kann ich das nicht machen, es laufen einige Anwendungen auf dem Server die auf die korrekte locale angewiesen sind.


Gruss,

rana-mp
Bitte warten ..
Mitglied: Logan000
17.06.2011 um 14:22 Uhr
Moin moin

Wie wäre es so:
01.
$deDate = "10.06.2011"      
02.
$usDate = $deDate.substring(3,2) + "." + $deDate.substring(0,2) + "." + $deDate.substring(6,4) 
03.
Get-date $usDate
Gruß L.
Bitte warten ..
Mitglied: Friemler
17.06.2011 um 14:31 Uhr
Hallo rana-mp,

wenn Du genau weißt, dass es sich immer um Datumswerte im deutschen mm.tt.jjjj-Format handelt, bleibt dann wohl nichts anderes übrig, als die Datumswerte "zu Fuß" zu zerlegen und mit den Parametern -Month, -Day und -Year zuzuweisen:
$datum = get-date -month 6 -day 17 -year 2011
Gruß
Friemler


[EDIT]
Zu langsam.
[/EDIT]
Bitte warten ..
Mitglied: rana-mp
17.06.2011 um 14:48 Uhr
OK, danke

Das macht mein script zwar nicht schoener, aber was solls, es muss funktionieren...


Gruss,

rana-mp
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell - Get-ADForest (6)

Frage von emeriks zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell, Get-Date, Sommerzeit Winterzeit, Zeitumstellung (6)

Frage von Rippchen zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Name des Childs bei Get-ChildItem anzeigen (2)

Frage von reissaus73 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Get-Content Inhalt filtern (1)

Frage von derhoeppi zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (19)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...

Festplatten, SSD, Raid
RAID Controller mit Trim-Funktion, wie ermitteln (11)

Frage von pixel24 zum Thema Festplatten, SSD, Raid ...