Time Conversion

Sort by

recency

|

5146 Discussions

|

  • + 0 comments

    JS:

    function timeConversion(s) {
        const parts = s.split(':');
    
         parts[0] = parts[2].slice(-2) === 'PM' ? 12 + parseInt(parts[0]) % 12 : parts[0];
        if (parts[2].slice(-2) === 'AM' && parseInt(parts[0]) === 12 ) parts[0] = "00";
        parts[2] = parts[2].replace(/[a-zA-Z]/g, '');
    
        return parts.join(':');
    }
    
  • + 0 comments
    function timeConversion(s: string): string {
        const hour = s.substring(0, 2);
        const amPM = s.substring(8, 10);
        
        let result = '';
        if(hour == '12') {
            result += (amPM == 'PM') ? '12' : '00';
        } else {
            result += (amPM == 'PM') ? Number(hour) + 12 : hour; 
        }
        
        result += s.substring(2,8);
        return result;
    }
    
  • + 0 comments
    def timeConversion(s):
        new_hour=(s[:2])
        if s[:2] == '12':
            if s[-2] == 'A':
                new_hour='00'
            elif s[-2] == 'P':
                new_hour='12'
        elif s[-2] == 'P':
            new_hour=int(s[:2])+12
        return str(new_hour)+s[2:-2] 
    
  • + 0 comments

    Here's my humble solution in Java:

    public static String timeConversion(String s) {
        String meridiem = s.substring(8);
        int hours = Integer.parseInt(s.substring(0, 2));
        String colonsMinutesAndSeconds = s.substring(2, 8);
    
        if (meridiem.equals("AM") && hours == 12) {
            hours = 0;
        } else if (meridiem.equals("PM") && hours != 12) {
            hours += 12;
        }
    
        return String.format("%02d%s", hours, colonsMinutesAndSeconds);
    }
    
  • + 0 comments

    My short answer…

    def timeConversion(s):
        return f'{int(s[:2]) % 12 + (0 if s[-2:] == "AM" else 12):02}' + s[2:8]