Hướng dẫn convert time to military time python - chuyển đổi thời gian sang thời gian quân sự python

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    ĐọcNote : Midnight is 12:00:00 AM on a 12-hour clock and 00:00:00 on a 24-hour clock. Noon is 12:00:00 PM on 12-hour clock and 12:00:00 on 24-hour clock. Examples :

    Input : 11:21:30 PM
    Output : 23:21:30
    
    Input : 12:12:20 AM
    Output : 00:12:20

    Bàn luận Whether the time format is 12 hours or not, can be found out by using list slicing. Check if last two elements are PM, then simply add 12 to them. If AM, then don’t add. Remove AM/PM from the updated time.   Below is the implementation : 

    Python3

    Có một thời gian ở định dạng AM/PM 12 giờ, chuyển đổi nó thành thời gian quân sự (24 giờ). Lưu ý: Nửa đêm là 12:00:00 sáng trên đồng hồ 12 giờ và 00:00:00 trên đồng hồ 24 giờ. Buổi trưa là 12:00:00 tối trên đồng hồ 12 giờ và 12:00:00 trên đồng hồ 24 giờ. Ví dụ:

    Cách tiếp cận: Cho dù định dạng thời gian là 12 giờ hay không, có thể được tìm thấy bằng cách sử dụng cắt danh sách. Kiểm tra xem hai yếu tố cuối cùng là PM, sau đó chỉ cần thêm 12 vào chúng. Nếu là AM, thì don don thêm. Hủy bỏ AM/PM khỏi thời gian cập nhật. & nbsp; Dưới đây là việc thực hiện: & NBSP;

    def convert24(str1):

    20:05:45
    0
    20:05:45
    1
    20:05:45
    2

    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    7
    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    8
    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    9
    hour = int(time[:2])
    meridian = time[8:]
    # Special-case '12AM' -> 0, '12PM' -> 12 (not 24)
    if (hour == 12):
        hour = 0
    if (meridian == 'PM'):
        hour += 12
    print("%02d" % hour + time[2:8])
    
    0
    20:05:45
    2
    20:05:45
    4
    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    6__

    Các

    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    7
    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    8
    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    9
    hour = int(time[:2])
    meridian = time[8:]
    # Special-case '12AM' -> 0, '12PM' -> 12 (not 24)
    if (hour == 12):
        hour = 0
    if (meridian == 'PM'):
        hour += 12
    print("%02d" % hour + time[2:8])
    
    0
    20:05:45
    2
    20:05:45
    4
    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    6__

    20:05:45
    0
    dt_m = datetime.datetime.fromtimestamp(m_time)
    hour_m = (dt_m.hour%12)+1  #dt_m.hour+1
    offset_dt = datetime.datetime(dt_m.year, dt_m.month, dt_m.day, hour_m , dt_m.minute, dt_m.second, dt_m.microsecond)
    
    7
    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    6

    Các

    convert24(str1):6convert24(str1):7convert24(str1):8convert24(str1):9

    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    7
    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    8
    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    0
    20:05:45
    3
    20:05:45
    4
    hour = int(time[:2])
    meridian = time[8:]
    # Special-case '12AM' -> 0, '12PM' -> 12 (not 24)
    if (hour == 12):
        hour = 0
    if (meridian == 'PM'):
        hour += 12
    print("%02d" % hour + time[2:8])
    
    6

    20:05:45

    CácO(1)

    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    7
    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    
    8 def1def2def3__
    O(1)

    6

    Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
    Learn more.

    Không sử dụng bất kỳ thư viện nào, tôi đang cố gắng giải quyết vấn đề hackerrank "chuyển đổi thời gian", báo cáo vấn đề được sao chép dưới đây.

    Hướng dẫn convert time to military time python - chuyển đổi thời gian sang thời gian quân sự python

    Tôi đã đưa ra những điều sau đây:

    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour += 12
        print str(hour) + time_without_meridian[2:]
    

    Tuy nhiên, điều này thất bại trong một trường hợp thử nghiệm:

    Hướng dẫn convert time to military time python - chuyển đổi thời gian sang thời gian quân sự python

    Vì các trường hợp thử nghiệm được ẩn cho người dùng, tuy nhiên, tôi đang vật lộn để xem vấn đề đang xảy ra ở đâu. "12:00:00 AM" được chuyển đổi chính xác thành "00:00:00" và "01:00:00 AM" thành "01:00:00" (với số 0). Điều gì có thể sai với việc thực hiện này?

    Khi được hỏi ngày 27 tháng 8 năm 2016 lúc 18:03Aug 27, 2016 at 18:03

    2

    Nó thậm chí còn đơn giản hơn cách bạn có nó.

    hour = int(time[:2])
    meridian = time[8:]
    # Special-case '12AM' -> 0, '12PM' -> 12 (not 24)
    if (hour == 12):
        hour = 0
    if (meridian == 'PM'):
        hour += 12
    print("%02d" % hour + time[2:8])
    

    SMCI

    30.7K18 Huy hiệu vàng110 Huy hiệu bạc145 Huy hiệu đồng18 gold badges110 silver badges145 bronze badges

    Đã trả lời ngày 27 tháng 8 năm 2016 lúc 18:31Aug 27, 2016 at 18:31

    Selbieselbieselbie

    Phù bằng vàng 94K1414 gold badges101 silver badges167 bronze badges

    1

    Bạn đã giải quyết vấn đề nhưng đây là một câu trả lời có thể khác:

    from datetime import datetime
    
    
    def solution(time):
        return datetime.strptime(time, '%I:%M:%S%p').strftime('%H:%M:%S')
    
    
    if __name__ == '__main__':
        tests = [
            "12:00:00PM",
            "12:00:00AM",
            "07:05:45PM"
        ]
        for t in tests:
            print solution(t)
    

    Mặc dù nó sẽ sử dụng thư viện Python :-)

    Đã trả lời ngày 27 tháng 8 năm 2016 lúc 18:12Aug 27, 2016 at 18:12

    Hướng dẫn convert time to military time python - chuyển đổi thời gian sang thời gian quân sự python

    BPLBPLBPL

    9,9488 Huy hiệu vàng53 Huy hiệu bạc110 Huy hiệu đồng8 gold badges53 silver badges110 bronze badges

    from datetime import datetime
    
    #Note the leading zero in 05 below, which is required for the formats used below
    
    regular_time = input("Enter a regular time in 05:48 PM format: ")
    
    #%I is for regular time. %H is for 24 hr time, aka "military time"
    #%p is for AM/PM
    
    military_time = datetime.strptime(regtime, '%I:%M %p').strftime('%H:%M')
    
    print(f"regular time is: {regular_time"}
    print(f"militarytime is {military_time}")
    

    Liên kết sau đã được chứng minh là rất hữu ích: https://strftime.org/

    Đã trả lời ngày 5 tháng 11 năm 2020 lúc 22:12Nov 5, 2020 at 22:12

    Hướng dẫn convert time to military time python - chuyển đổi thời gian sang thời gian quân sự python

    TroytroyTroy

    Phù hiệu bằng đồng 9199 bronze badges

    Tôi đã tìm ra nó: nó đã chuyển đổi "12:00:00 PM" sang "24:00:00" chứ không phải "12:00:00". Tôi đã sửa đổi mã như sau:

    time = raw_input().strip()
    
    meridian = time[-2:]        # "AM" or "PM"
    time_without_meridian = time[:-2]
    hour = int(time[:2])
    
    if meridian == "AM":
        hour = (hour+1) % 12 - 1
        print ("%02d" % hour) + time_without_meridian[2:]
    elif meridian == "PM":
        hour = hour % 12 + 12
        print str(hour) + time_without_meridian[2:]
    

    dẫn đến nó vượt qua tất cả các trường hợp thử nghiệm (xem bên dưới).

    Hướng dẫn convert time to military time python - chuyển đổi thời gian sang thời gian quân sự python

    Đã trả lời ngày 27 tháng 8 năm 2016 lúc 18:07Aug 27, 2016 at 18:07

    Kurt Peekkurt PeekKurt Peek

    47K76 Huy hiệu vàng271 Huy hiệu bạc475 Huy hiệu Đồng76 gold badges271 silver badges475 bronze badges

    dt_m = datetime.datetime.fromtimestamp(m_time)
    hour_m = (dt_m.hour%12)+1  #dt_m.hour+1
    offset_dt = datetime.datetime(dt_m.year, dt_m.month, dt_m.day, hour_m , dt_m.minute, dt_m.second, dt_m.microsecond)
    

    Đã trả lời ngày 10 tháng 9 lúc 19:42Sep 10 at 19:42

    Hướng dẫn convert time to military time python - chuyển đổi thời gian sang thời gian quân sự python

    Làm cách nào để chuyển đổi thời gian bình thường sang thời gian quân sự ở Python?

    Chuyển đổi thành thời gian quân sự trong câu trả lời mã Python..
    Thời gian def (s):.
    Nếu s [-2:] == "am":.
    Nếu S [: 2] == '12':.
    a = str ('00 ' + s [2: 8]).
    a = s [:-2].

    Làm thế nào để bạn chuyển đổi thời gian sang thời gian quân sự?

    Thời gian chuyển đổi từ đồng hồ 12 giờ sang đồng hồ 24 giờ, điều này có nghĩa là 12:00 sáng = 0000hrs, 1:00 sáng = 0100hrs, v.v.thời gian trong thời gian quân sự.Chẳng hạn, 1:00 pm + 12 = 1300 giờ, 2:00 pm + 12 = 1400hrs và được phát âm 14 trăm giờ.If the time is 1:00pm or greater, add 12 to the hours and that will get you the time in military time. For instance, 1:00pm + 12 = 1300hours, 2:00pm + 12 = 1400hrs and is pronounced 14 hundred hours.

    Làm cách nào để thay đổi từ 24 giờ thành 12

    Chìa khóa của mã này là sử dụng thời gian chức năng thư viện.Strptime () để phân tích các biểu diễn chuỗi 24 giờ thành một thời gian.Đối tượng struct_time, sau đó sử dụng thời gian chức năng thư viện.strftime () để định dạng cấu trúc này_time thành một chuỗi định dạng 12 giờ mong muốn của bạn.

    Làm thế nào để bạn chuyển đổi thời gian trong Python?

    Có hai chức năng thời gian Python mà bạn sử dụng để chuyển đổi thời gian.struct_time đối tượng cho một chuỗi: asctime ()..
    %D: Ngày của tháng ..
    %M: Tháng trong năm ..
    %Y: năm ..