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

Zeitdauer bzw. Zeitabstand zwischen zwei Datums ausrechnen

Frage Entwicklung Batch & Shell

Mitglied: BobaFett64

BobaFett64 (Level 1) - Jetzt verbinden

04.04.2008, aktualisiert 15.04.2008, 6511 Aufrufe, 4 Kommentare

Hallo!

Ich möchte gerne im batch die Zeitdauer bzw. den Zeitabstand zwischen zwei Datums ausrechnen. Also zum Beispiel folgender Fall:

set startdate=01.01.08
set starttime=10:42
set enddate=02.01.08
set endtime=11:50

Jetzt möchte ich ausrechnen, wieviel Zeit in Stunden zwischen der Startzeit am 01.01.08 10:42 Uhr bis zum 02.01.08 11:50 Uhr vergangen ist.

Wie kann ich dieses Problem am besten in batch lösen?

Vielen Dank schonmal für eure Hilfe!!

MfG,
BobaFett64
Mitglied: Ravers
04.04.2008 um 13:11 Uhr
Ich bin zwar kein Batch-Profi, aber das wird seehr schwierig, eigentlich unmöglich.

Es muß z.B. ein Kalender dabei sein.

Beispiel 26.02 - 03.03. um 16 Uhr.

Woher soll die Batch wissen wieviel Tage der Februar im Jahr XX hat?
Ist evtl. noch ein Feiertag dazwischen (soll er mitgerechnet werden oder nicht?)

und viele Problem mehr ;)

Nimm lieber einen anderen Ansatz (Excel z.b.) !

Mfg
Bitte warten ..
Mitglied: Biber
04.04.2008 um 13:22 Uhr
Moin bobafett64,

Rechnen mit Datumswerte ist mit native Batch eine undankbare Geschichte, da die CMD.exe keinen Datentyp "Datum" kennt.
Du kannst es allerdings mit dem (kurzen) Umweg über eine Zeile VBS hinbekommen.
01.
:: -----irgendwo in Deinem Batch.bat 
02.
@echo off & setlocal 
03.
... 
04.
set startdate=01.01.08 
05.
set starttime=10:42 
06.
set enddate=02.01.08 
07.
set endtime=11:50 
08.
... 
09.
Set "dd=%temp%\dd.vbs" 
10.
echo wscript.echo datediff("h", "%startdate% %starttime%", "%enddate% %endtime%") >"%dd%" 
11.
For /f %%i in ('cscript //nologo "%dd%" ') do set "AnzStd=%%i" 
12.
echo Es hat %AnzStd% Stunden gedauert... 
13.
 
Am CMD-Prompt schnell testen kannst du es so:
01.
>echo wscript.echo datediff("h", "01.01.08 10:42", "02.01.08 11:50") >x.vbs 
02.
 
03.
>cscript //nologo x.vbs 
04.
25
Gruß
Biber
P.S. Und sag bitte in diesem Zweigarm des Forum nie wieder "zwischen zwei Datums"...
Bitte warten ..
Mitglied: BobaFett64
15.04.2008 um 14:19 Uhr
Danke für das Skript!

Jetzt bekomme ich die Zeitdifferenz in Stunden.
Ich bräuchte aber bitte auch noch die Minuten.

Gruß,
BobaFett64
Bitte warten ..
Mitglied: Biber
15.04.2008 um 18:34 Uhr
Moin BobaFett,

hmm, ich dachte, ich hätte irgendwo gelesen:
Jetzt möchte ich ausrechnen, wieviel Zeit in Stunden zwischen der Startzeit ...

Aber egal, Änderungsdemo am CMD-Prompt [Eingaben beginnen mit ">"]:
01.
>echo wscript.echo DateDiff("n", "01.01.08 10:42", "02.01.08 11:50") >x.vbs 
02.
## Zeit in Minuten total: 
03.
>cscript //nologo x.vbs 
04.
1508 
05.
## Zeit in vollen Stunden: 
06.
> set /a 1508 / 60 
07.
25 
08.
## Zeit der Restminuten: 
09.
>set /a 1508 % 60 
10.
8
Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
LAN, WAN, Wireless
Endgeräte wechseln zwischen zwei Access Points hin und her (15)

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

Switche und Hubs
gelöst Brücke zwischen zwei VLANS finden (9)

Frage von D1Ck3n zum Thema Switche und Hubs ...

Linux
gelöst Vergleich zwischen Distributionen. Mögliche Kriterien? (18)

Frage von hansleitner zum Thema Linux ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (25)

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

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (19)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Exchange HyperV Prozessorlast (18)

Frage von theoberlin zum Thema Windows Server ...