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

Datumsmanipulationen, einfach gemacht

Tipp Entwicklung Batch & Shell

Mitglied: 78632

78632 (Level 1)

15.05.2009, aktualisiert 16.05.2009, 6382 Aufrufe, 2 Kommentare

Ein etwas unkonventioneller Weg, mit Datumsangaben (z. B. im Dateisystem) zu arbeiten

Als User hat man ja auf den eigenen Registry-Zweig in der Regel Zugriff. Also warum nicht temporär ein festes, für Manipulationen gültiges Format vorgeben?

Beispielcode für Batch-Verarbeitung:

01.
@echo off & setlocal 
02.
 
03.
:: Aktuell verwendetes Datumsformat holen und in Variable sichern 
04.
for /f "tokens=3" %%d in ('reg query "hkcu\control panel\international" /v sShortDate') do set "dfmt=%%d" 
05.
echo %dfmt% 
06.
 
07.
:: Datumsformat falls erforderlich temporär auf "normalen" Wert ändern 
08.
if not "%dfmt%"=="dd.MM.yy" reg add "hkcu\control panel\international" /v sShortDate /t REG_SZ /d dd.MM.yy /f 
09.
 
10.
::Aktionen durchführen, Variable "Datum" aus Dateidatum erhalten, z. B. mit % ~ti 
11.
 
12.
Set Datum=15.05.09 
13.
set FDatum=%Datum:~6,2%%Datum:~3,2%%Datum:~0,2% 
14.
Echo %fdatum% 
15.
pause 
16.
:: ergibt als Variable FDatum ein sortier- und vergleichbares Format, nämlich 090515 
17.
:: Aktionen durchführen 
18.
 
19.
pause 
20.
 
21.
:: Datumsformat erforderlichenfalls auf gespeicherten Wert zurücksetzen 
22.
if not "%dfmt%"=="dd.MM.yy" reg add "hkcu\control panel\international" /v sShortDate /t REG_SZ /d %dfmt% /f 
23.
 
Mitglied: LotPings
15.05.2009 um 21:04 Uhr
Hallo blablanick,
ich finde es nicht so prickelnd.

Wenn du schon die Registry liest, hast du ja auch alle Informationen die du brauchst, um die Ausgabe von %Date% korrekt zu interpretieren.
Warum also dann noch schreiben?

Mein Motto dabei ist so sicher wie möglich vorzugehen und Schreibzugriffe auf die Registry,
die in dem Moment Systemweit Wirkung zeigen, würde ich mit sehr überlegen.

Gruß
LotPings
Bitte warten ..
Mitglied: 78632
15.05.2009 um 21:28 Uhr
Ob prickelnd oder nicht, bleibt jedem selbst überlassen. Es ist EINE Möglichkeit.

Mein Motto ist, keine ellenlange Umrechnung zu veranstalten, sondern die einfachste und zugleich wirkungsvollste Lösung zu bevorzugen.

Ich sehe darin auch keinerlei Risiko, da die tatsächlich verwendeten Zeiten im Filesystem real in einem 64Bit-Wert abgespeichert und genutzt werden und sich durch das Ausgabeformat der Darstellung daran absolut nichts ändert.

Allerdings habe ich jetzt das Beispiel so geändert, dass die Notwendigkeit des Änderns in der Registry überprüft wird und die Änderung nur erfolgt, falls sich das Datumsformat nicht bereits im "normalen" Zustand befindet.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
CSS
CSS Background-image erscheint einfach nicht (3)

Frage von MyApps2GO.de zum Thema CSS ...

Netzwerkgrundlagen
VPN lässt sich einfach nicht einrichten (3)

Frage von JollyJumper83 zum Thema Netzwerkgrundlagen ...

LAN, WAN, Wireless
Netzwerkkarte Primär - woran wird das fest gemacht (6)

Frage von ITSyndication zum Thema LAN, WAN, Wireless ...

Windows Server
gelöst Standard PDF Viewer änderte sich einfach (6)

Frage von Emptyman zum Thema Windows Server ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (26)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Netzwerke
Abisolierwerkzeug (18)

Frage von SarekHL zum Thema Netzwerke ...

Windows 10
Welches OS für Firmengeräte? (17)

Frage von MarkusVH zum Thema Windows 10 ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (17)

Frage von bogi1102 zum Thema Exchange Server ...