11 Stimmen

12-Stunden-Datum/Uhrzeit in 24-Stunden-Datum/Uhrzeit umrechnen

Ich habe eine tabulatorgetrennte Datei, in der jeder Datensatz ein Zeitstempelfeld im 12-Stunden-Format hat:

mm/dd/yyyy hh:mm:ss [AM|PM].

Ich muss diese Felder schnell in die 24-Stunden-Zeit umwandeln:

mm/dd/yyyy HH:mm:ss.

Wie lässt sich das am besten bewerkstelligen? Ich arbeite auf einer Windows-Plattform, habe aber zusätzlich zu den üblichen Windows-Tools Zugriff auf sed, awk, perl, python und tcl.

0voto

Hier habe ich das 24-Stunden-System in ein 12-Stunden-System umgewandelt. Versuchen Sie, diese Methode für Ihr Problem zu verwenden.

    DateFormat fmt = new SimpleDateFormat("yyyyMMddHHssmm");

    try {
        Date date =fmt.parse("20090310232344");

        System.out.println(date.toString());
        fmt = new SimpleDateFormat("dd-MMMM-yyyy hh:mm:ss a ");
        String dateInString = fmt.format(date);
        System.out.println(dateInString);

    } catch (Exception e) {
        System.out.println(e.getMessage());
    } 

  RESULT:  
   Tue Mar 10 23:44:23 IST 2009   
   10-March-2009 11:44:23 PM

0voto

Harsh Seth Punkte 5

In Python: Konvertierung von 12-Stunden-Zeit in 24-Stunden-Zeit

import re
time1=input().strip().split(':')
m=re.search('(..)(..)',time1[2])
sec=m.group(1)
tz=m.group(2)  
if(tz='PM'):
     time[0]=int(time1[0])+12
     if(time1[0]=24):
            time1[0]-=12
     time[2]=sec         
else:
     if(int(time1[0])=12):
            time1[0]-=12
     time[2]=sec

print(time1[0]+':'+time1[1]+':'+time1[2])

-1voto

Dillie-O Punkte 28749

Da Sie mehrere Sprachen haben, schlage ich den folgenden Algorithmus vor.

1 Prüfen Sie den Zeitstempel auf das Vorhandensein der Zeichenfolge "PM".

2a Wenn PM nicht existiert, konvertieren Sie einfach den Zeitstempel in das datetime-Objekt und fahren fort.

2b Wenn PM vorhanden ist, wandeln Sie den Zeitstempel in das datetime-Objekt um, fügen 12 Stunden hinzu und fahren fort.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X