Hướng dẫn convert time to minutes python - chuyển đổi thời gian sang phút python

Làm thế nào để chuyển đổi HH: MM: SS sang phút?

Tôi đã thử dưới đây hoạt động tốt:

  import datetime as DT
  t1 = DT.datetime.strptime['0:10:00', '%H:%M:%S']

Tôi đã thử một ví dụ khác và nhận lỗi:

  import datetime as DT
  t1 = DT.datetime.strptime['9715:56:46', '%H:%M:%S']

Error:

  ValueError: time data '9715:56:46' does not match format '%H:%M:%S'

Trong ví dụ này, nó hỗ trợ tối đa 23 cho %H, nếu giờ của tôi có hơn 23 [trong trường hợp này tôi có 9715 giờ] làm thế nào để có được nó?

JPP

153K32 Huy hiệu vàng260 Huy hiệu bạc319 Huy hiệu Đồng32 gold badges260 silver badges319 bronze badges

Đã hỏi ngày 25 tháng 1 năm 2018 lúc 16:01Jan 25, 2018 at 16:01

Preethy Tulpipreethy Tulpipreethy tulpi

4051 Huy hiệu vàng5 Huy hiệu bạc14 Huy hiệu đồng1 gold badge5 silver badges14 bronze badges

3

Bạn có thể sử dụng

  import datetime as DT
  t1 = DT.datetime.strptime['9715:56:46', '%H:%M:%S']
3 với biểu thức máy phát hoặc
  import datetime as DT
  t1 = DT.datetime.strptime['9715:56:46', '%H:%M:%S']
4:

from operator import mul

my_time = '9715:56:46'
factors = [60, 1, 1/60]

t1 = sum[i*j for i, j in zip[map[int, my_time.split[':']], factors]]
t2 = sum[map[mul, map[int, my_time.split[':']], factors]]

print[t1]  # 582956.7666666667

assert t1 == t2

Đã trả lời ngày 25 tháng 1 năm 2018 lúc 16:07Jan 25, 2018 at 16:07

0

  import datetime as DT
  t1 = DT.datetime.strptime['9715:56:46', '%H:%M:%S']
5 là một đại diện của một thời điểm, không phải là thời gian.

  import datetime as DT
  t1 = DT.datetime.strptime['9715:56:46', '%H:%M:%S']
6 là một đại diện của một khoảng thời gian. Quan sát:

from datetime import timedelta


delta = timedelta[hours=9715, minutes=56, seconds=46]
total_seconds = delta.total_seconds[]
minutes = int[total_seconds // 60]
seconds = int[total_seconds % 60]

print['{minutes}:{seconds}'.format[minutes=minutes, seconds=seconds]]

Chỉnh sửa: Tôi đã thay đổi mã để làm việc với Python 2.7.

Đã trả lời ngày 25 tháng 1 năm 2018 lúc 16:19Jan 25, 2018 at 16:19

Adam Barnesadam BarnesAdam Barnes

2.76019 Huy hiệu bạc25 Huy hiệu đồng19 silver badges25 bronze badges

Hàm

  import datetime as DT
  t1 = DT.datetime.strptime['9715:56:46', '%H:%M:%S']
7 [trong các hóa thân khác nhau của nó] không được thiết kế để thực hiện loại nhiệm vụ này, nó chỉ để phân tích các chuỗi thời gian / ngày hợp lệ.

Giải pháp đơn giản là viết mã của riêng bạn để phân tích chuỗi và thực hiện số học. Dưới đây là một ví dụ xuất bản vài giây; Rõ ràng bạn có thể chia cho 60 để có được phút.

def hms_to_s[s]:
    t = 0
    for u in s.split[':']:
        t = 60 * t + int[u]
    return t

data = [
    '10',
    '0:10',
    '1:30',
    '2:1:00',
    '1000:00:00',
    '9700:00:00',
    '15:56:46',
    '9715:56:46',
]

for s in data:
    print[s, hms_to_s[s]] 

đầu ra

10 10
0:10 10
1:30 90
2:1:00 7260
1000:00:00 3600000
9700:00:00 34920000
15:56:46 57406
9715:56:46 34977406

Đã trả lời ngày 25 tháng 1 năm 2018 lúc 16:24Jan 25, 2018 at 16:24

PM 2ringPM 2ringPM 2Ring

53.1K5 Huy hiệu vàng79 Huy hiệu bạc170 Huy hiệu đồng5 gold badges79 silver badges170 bronze badges

Như lỗi đã nói, bạn đã cung cấp sai giá trị trong giờ.

Nó phải> = 0 và

Bài Viết Liên Quan

Chủ Đề